(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.4-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.4-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":"50fe95a12147"},
  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.applicationHandlerReady = true; 
  } else {
    qx.$$loader.applicationHandlerReady = false;
  }
}

qx.$$loader.init = function(){
  var l=qx.$$loader;
  if (l.urisBefore.length>0){
    loadScriptList(l.urisBefore, function(){
      l.initUris();
    });
  } else {
    l.initUris();
  }
}

qx.$$loader.initUris = function(){
  var l=qx.$$loader;
  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['50fe95a12147']={"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","qx"],"qx/decoration/Modern/arrows-combined.png":[87,8,"png","qx"],"qx/decoration/Modern/arrows/down-invert.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-74,0],"qx/decoration/Modern/arrows/down-small-invert.png":[5,3,"png","qx","qx/decoration/Modern/arrows-combined.png",-69,0],"qx/decoration/Modern/arrows/down-small.png":[5,3,"png","qx","qx/decoration/Modern/arrows-combined.png",-49,0],"qx/decoration/Modern/arrows/down.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-20,0],"qx/decoration/Modern/arrows/forward.png":[10,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-59,0],"qx/decoration/Modern/arrows/left-invert.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",0,0],"qx/decoration/Modern/arrows/left.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-44,0],"qx/decoration/Modern/arrows/rewind.png":[10,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-10,0],"qx/decoration/Modern/arrows/right-invert.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-5,0],"qx/decoration/Modern/arrows/right.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-54,0],"qx/decoration/Modern/arrows/up-invert.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-28,0],"qx/decoration/Modern/arrows/up-small.png":[5,3,"png","qx","qx/decoration/Modern/arrows-combined.png",-82,0],"qx/decoration/Modern/arrows/up.png":[8,5,"png","qx","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","qx"],"qx/decoration/Modern/colorselector/brightness-handle.gif":[35,11,"gif","qx","qx/decoration/Modern/colorselector-combined.gif",0,0],"qx/decoration/Modern/colorselector/huesaturation-field.jpg":[256,256,"jpeg","qx"],"qx/decoration/Modern/colorselector/huesaturation-handle.gif":[11,11,"gif","qx","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","qx","qx/decoration/Modern/cursors-combined.gif",-52,0],"qx/decoration/Modern/cursors/copy.gif":[19,15,"gif","qx","qx/decoration/Modern/cursors-combined.gif",-33,0],"qx/decoration/Modern/cursors/move.gif":[13,9,"gif","qx","qx/decoration/Modern/cursors-combined.gif",-20,0],"qx/decoration/Modern/cursors/nodrop.gif":[20,20,"gif","qx","qx/decoration/Modern/cursors-combined.gif",0,0],"qx/decoration/Modern/form/button-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-72],"qx/decoration/Modern/form/button-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-204],"qx/decoration/Modern/form/button-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-188],"qx/decoration/Modern/form/button-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-checked-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-36],"qx/decoration/Modern/form/button-checked-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-84],"qx/decoration/Modern/form/button-checked-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-184],"qx/decoration/Modern/form/button-checked-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-checked-focused-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-156],"qx/decoration/Modern/form/button-checked-focused-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-208],"qx/decoration/Modern/form/button-checked-focused-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-160],"qx/decoration/Modern/form/button-checked-focused-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-checked-focused-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-40,0],"qx/decoration/Modern/form/button-checked-focused-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-32,0],"qx/decoration/Modern/form/button-checked-focused-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-28],"qx/decoration/Modern/form/button-checked-focused-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-24],"qx/decoration/Modern/form/button-checked-focused-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-48],"qx/decoration/Modern/form/button-checked-focused.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-checked-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-16,0],"qx/decoration/Modern/form/button-checked-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-60,0],"qx/decoration/Modern/form/button-checked-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-140],"qx/decoration/Modern/form/button-checked-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-56],"qx/decoration/Modern/form/button-checked-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-112],"qx/decoration/Modern/form/button-checked.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-disabled-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-40],"qx/decoration/Modern/form/button-disabled-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-136],"qx/decoration/Modern/form/button-disabled-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-16],"qx/decoration/Modern/form/button-disabled-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-disabled-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-68,0],"qx/decoration/Modern/form/button-disabled-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-4,0],"qx/decoration/Modern/form/button-disabled-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-116],"qx/decoration/Modern/form/button-disabled-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-168],"qx/decoration/Modern/form/button-disabled-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-60],"qx/decoration/Modern/form/button-disabled.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-focused-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-68],"qx/decoration/Modern/form/button-focused-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-144],"qx/decoration/Modern/form/button-focused-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-8],"qx/decoration/Modern/form/button-focused-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-focused-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-24,0],"qx/decoration/Modern/form/button-focused-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-44,0],"qx/decoration/Modern/form/button-focused-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-192],"qx/decoration/Modern/form/button-focused-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-148],"qx/decoration/Modern/form/button-focused-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-104],"qx/decoration/Modern/form/button-focused.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-hovered-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-108],"qx/decoration/Modern/form/button-hovered-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-32],"qx/decoration/Modern/form/button-hovered-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-128],"qx/decoration/Modern/form/button-hovered-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-hovered-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-20,0],"qx/decoration/Modern/form/button-hovered-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-48,0],"qx/decoration/Modern/form/button-hovered-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-44],"qx/decoration/Modern/form/button-hovered-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-76],"qx/decoration/Modern/form/button-hovered-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-88],"qx/decoration/Modern/form/button-hovered.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-56,0],"qx/decoration/Modern/form/button-preselected-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-124],"qx/decoration/Modern/form/button-preselected-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-176],"qx/decoration/Modern/form/button-preselected-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-200],"qx/decoration/Modern/form/button-preselected-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-preselected-focused-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,0],"qx/decoration/Modern/form/button-preselected-focused-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-4],"qx/decoration/Modern/form/button-preselected-focused-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-152],"qx/decoration/Modern/form/button-preselected-focused-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-preselected-focused-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-28,0],"qx/decoration/Modern/form/button-preselected-focused-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-36,0],"qx/decoration/Modern/form/button-preselected-focused-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-196],"qx/decoration/Modern/form/button-preselected-focused-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-164],"qx/decoration/Modern/form/button-preselected-focused-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-212],"qx/decoration/Modern/form/button-preselected-focused.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-preselected-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-8,0],"qx/decoration/Modern/form/button-preselected-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-64,0],"qx/decoration/Modern/form/button-preselected-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-96],"qx/decoration/Modern/form/button-preselected-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-80],"qx/decoration/Modern/form/button-preselected-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-132],"qx/decoration/Modern/form/button-preselected.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-pressed-b.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-12],"qx/decoration/Modern/form/button-pressed-bl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-52],"qx/decoration/Modern/form/button-pressed-br.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-20],"qx/decoration/Modern/form/button-pressed-c.png":[40,52,"png","qx"],"qx/decoration/Modern/form/button-pressed-l.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-52,0],"qx/decoration/Modern/form/button-pressed-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",-12,0],"qx/decoration/Modern/form/button-pressed-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-100],"qx/decoration/Modern/form/button-pressed-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-172],"qx/decoration/Modern/form/button-pressed-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-64],"qx/decoration/Modern/form/button-pressed.png":[80,60,"png","qx"],"qx/decoration/Modern/form/button-r.png":[4,52,"png","qx","qx/decoration/Modern/button-lr-combined.png",0,0],"qx/decoration/Modern/form/button-t.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-92],"qx/decoration/Modern/form/button-tl.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-120],"qx/decoration/Modern/form/button-tr.png":[4,4,"png","qx","qx/decoration/Modern/button-tb-combined.png",0,-180],"qx/decoration/Modern/form/button.png":[80,60,"png","qx"],"qx/decoration/Modern/form/checkbox-checked-disabled.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-126,0],"qx/decoration/Modern/form/checkbox-checked-focused-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-322,0],"qx/decoration/Modern/form/checkbox-checked-focused.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-294,0],"qx/decoration/Modern/form/checkbox-checked-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-364,0],"qx/decoration/Modern/form/checkbox-checked-hovered.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-490,0],"qx/decoration/Modern/form/checkbox-checked-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-224,0],"qx/decoration/Modern/form/checkbox-checked-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-378,0],"qx/decoration/Modern/form/checkbox-checked-pressed.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-84,0],"qx/decoration/Modern/form/checkbox-checked.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-182,0],"qx/decoration/Modern/form/checkbox-disabled.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-42,0],"qx/decoration/Modern/form/checkbox-focused-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-392,0],"qx/decoration/Modern/form/checkbox-focused.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-210,0],"qx/decoration/Modern/form/checkbox-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-14,0],"qx/decoration/Modern/form/checkbox-hovered.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-238,0],"qx/decoration/Modern/form/checkbox-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-462,0],"qx/decoration/Modern/form/checkbox-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-112,0],"qx/decoration/Modern/form/checkbox-pressed.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-448,0],"qx/decoration/Modern/form/checkbox-undetermined-disabled.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined-focused-invalid.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined-focused.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined-hovered-invalid.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined-hovered.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined-invalid.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox-undetermined.png":[14,14,"png","qx"],"qx/decoration/Modern/form/checkbox.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-140,0],"qx/decoration/Modern/form/input-focused.png":[40,12,"png","qx"],"qx/decoration/Modern/form/input.png":[84,12,"png","qx"],"qx/decoration/Modern/form/radiobutton-checked-disabled.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-196,0],"qx/decoration/Modern/form/radiobutton-checked-focused-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-168,0],"qx/decoration/Modern/form/radiobutton-checked-focused.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-98,0],"qx/decoration/Modern/form/radiobutton-checked-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-308,0],"qx/decoration/Modern/form/radiobutton-checked-hovered.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-406,0],"qx/decoration/Modern/form/radiobutton-checked-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-28,0],"qx/decoration/Modern/form/radiobutton-checked-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-350,0],"qx/decoration/Modern/form/radiobutton-checked-pressed.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-266,0],"qx/decoration/Modern/form/radiobutton-checked.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-252,0],"qx/decoration/Modern/form/radiobutton-disabled.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-336,0],"qx/decoration/Modern/form/radiobutton-focused-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-476,0],"qx/decoration/Modern/form/radiobutton-focused.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-420,0],"qx/decoration/Modern/form/radiobutton-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-56,0],"qx/decoration/Modern/form/radiobutton-hovered.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",0,0],"qx/decoration/Modern/form/radiobutton-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-154,0],"qx/decoration/Modern/form/radiobutton-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-434,0],"qx/decoration/Modern/form/radiobutton-pressed.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-280,0],"qx/decoration/Modern/form/radiobutton.png":[14,14,"png","qx","qx/decoration/Modern/checkradio-combined.png",-70,0],"qx/decoration/Modern/form/tooltip-error-arrow.png":[11,14,"png","qx"],"qx/decoration/Modern/form/tooltip-error-b.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-30],"qx/decoration/Modern/form/tooltip-error-bl.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-24],"qx/decoration/Modern/form/tooltip-error-br.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,0],"qx/decoration/Modern/form/tooltip-error-c.png":[40,18,"png","qx"],"qx/decoration/Modern/form/tooltip-error-l.png":[6,18,"png","qx","qx/decoration/Modern/tooltip-error-lr-combined.png",-6,0],"qx/decoration/Modern/form/tooltip-error-r.png":[6,18,"png","qx","qx/decoration/Modern/tooltip-error-lr-combined.png",0,0],"qx/decoration/Modern/form/tooltip-error-t.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-6],"qx/decoration/Modern/form/tooltip-error-tl.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-18],"qx/decoration/Modern/form/tooltip-error-tr.png":[6,6,"png","qx","qx/decoration/Modern/tooltip-error-tb-combined.png",0,-12],"qx/decoration/Modern/form/tooltip-error.png":[127,30,"png","qx"],"qx/decoration/Modern/group-item.png":[110,20,"png","qx"],"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","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,-12],"qx/decoration/Modern/groupbox/groupbox-bl.png":[4,4,"png","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,-16],"qx/decoration/Modern/groupbox/groupbox-br.png":[4,4,"png","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,-8],"qx/decoration/Modern/groupbox/groupbox-c.png":[40,51,"png","qx"],"qx/decoration/Modern/groupbox/groupbox-l.png":[4,51,"png","qx","qx/decoration/Modern/groupbox-lr-combined.png",-4,0],"qx/decoration/Modern/groupbox/groupbox-r.png":[4,51,"png","qx","qx/decoration/Modern/groupbox-lr-combined.png",0,0],"qx/decoration/Modern/groupbox/groupbox-t.png":[4,4,"png","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,-4],"qx/decoration/Modern/groupbox/groupbox-tl.png":[4,4,"png","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,0],"qx/decoration/Modern/groupbox/groupbox-tr.png":[4,4,"png","qx","qx/decoration/Modern/groupbox-tb-combined.png",0,-20],"qx/decoration/Modern/groupbox/groupbox.png":[255,59,"png","qx"],"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","qx","qx/decoration/Modern/menu-background-combined.png",-40,0],"qx/decoration/Modern/menu/bar-background.png":[40,20,"png","qx","qx/decoration/Modern/menu-background-combined.png",0,0],"qx/decoration/Modern/menu/checkbox-invert.gif":[16,7,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-16,0],"qx/decoration/Modern/menu/checkbox.gif":[16,7,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-48,0],"qx/decoration/Modern/menu/radiobutton-invert.gif":[16,5,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-32,0],"qx/decoration/Modern/menu/radiobutton.gif":[16,5,"gif","qx","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","qx","qx/decoration/Modern/pane-tb-combined.png",0,-30],"qx/decoration/Modern/pane/pane-bl.png":[6,6,"png","qx","qx/decoration/Modern/pane-tb-combined.png",0,-18],"qx/decoration/Modern/pane/pane-br.png":[6,6,"png","qx","qx/decoration/Modern/pane-tb-combined.png",0,-12],"qx/decoration/Modern/pane/pane-c.png":[40,238,"png","qx"],"qx/decoration/Modern/pane/pane-l.png":[6,238,"png","qx","qx/decoration/Modern/pane-lr-combined.png",0,0],"qx/decoration/Modern/pane/pane-r.png":[6,238,"png","qx","qx/decoration/Modern/pane-lr-combined.png",-6,0],"qx/decoration/Modern/pane/pane-t.png":[6,6,"png","qx","qx/decoration/Modern/pane-tb-combined.png",0,0],"qx/decoration/Modern/pane/pane-tl.png":[6,6,"png","qx","qx/decoration/Modern/pane-tb-combined.png",0,-24],"qx/decoration/Modern/pane/pane-tr.png":[6,6,"png","qx","qx/decoration/Modern/pane-tb-combined.png",0,-6],"qx/decoration/Modern/pane/pane.png":[185,250,"png","qx"],"qx/decoration/Modern/scrollbar-combined.png":[54,12,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-bg-horizontal.png":[76,15,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-horizontal.png":[19,10,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-vertical.png":[10,19,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-bg-vertical.png":[15,76,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-button-bg-horizontal.png":[12,10,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-34,0],"qx/decoration/Modern/scrollbar/scrollbar-button-bg-vertical.png":[10,12,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-6,0],"qx/decoration/Modern/scrollbar/scrollbar-down.png":[6,4,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-28,0],"qx/decoration/Modern/scrollbar/scrollbar-left.png":[4,6,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-50,0],"qx/decoration/Modern/scrollbar/scrollbar-right.png":[4,6,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-46,0],"qx/decoration/Modern/scrollbar/scrollbar-up.png":[6,4,"png","qx","qx/decoration/Modern/scrollbar-combined.png",0,0],"qx/decoration/Modern/scrollbar/slider-knob-background.png":[12,10,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-16,0],"qx/decoration/Modern/selection.png":[110,20,"png","qx"],"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","qx","qx/decoration/Modern/shadow-tb-combined.png",0,-30],"qx/decoration/Modern/shadow/shadow-bl.png":[15,15,"png","qx","qx/decoration/Modern/shadow-tb-combined.png",0,-15],"qx/decoration/Modern/shadow/shadow-br.png":[15,15,"png","qx","qx/decoration/Modern/shadow-tb-combined.png",0,-45],"qx/decoration/Modern/shadow/shadow-c.png":[40,382,"png","qx"],"qx/decoration/Modern/shadow/shadow-l.png":[15,382,"png","qx","qx/decoration/Modern/shadow-lr-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-r.png":[15,382,"png","qx","qx/decoration/Modern/shadow-lr-combined.png",-15,0],"qx/decoration/Modern/shadow/shadow-small-b.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,-20],"qx/decoration/Modern/shadow/shadow-small-bl.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,-15],"qx/decoration/Modern/shadow/shadow-small-br.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,-10],"qx/decoration/Modern/shadow/shadow-small-c.png":[40,136,"png","qx"],"qx/decoration/Modern/shadow/shadow-small-l.png":[5,136,"png","qx","qx/decoration/Modern/shadow-small-lr-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-small-r.png":[5,136,"png","qx","qx/decoration/Modern/shadow-small-lr-combined.png",-5,0],"qx/decoration/Modern/shadow/shadow-small-t.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,-5],"qx/decoration/Modern/shadow/shadow-small-tl.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,0],"qx/decoration/Modern/shadow/shadow-small-tr.png":[5,5,"png","qx","qx/decoration/Modern/shadow-small-tb-combined.png",0,-25],"qx/decoration/Modern/shadow/shadow-small.png":[114,146,"png","qx"],"qx/decoration/Modern/shadow/shadow-t.png":[15,15,"png","qx","qx/decoration/Modern/shadow-tb-combined.png",0,-60],"qx/decoration/Modern/shadow/shadow-tl.png":[15,15,"png","qx","qx/decoration/Modern/shadow-tb-combined.png",0,-75],"qx/decoration/Modern/shadow/shadow-tr.png":[15,15,"png","qx","qx/decoration/Modern/shadow-tb-combined.png",0,0],"qx/decoration/Modern/shadow/shadow.png":[381,412,"png","qx"],"qx/decoration/Modern/splitpane-knobs-combined.png":[8,9,"png","qx"],"qx/decoration/Modern/splitpane/knob-horizontal.png":[1,8,"png","qx","qx/decoration/Modern/splitpane-knobs-combined.png",0,-1],"qx/decoration/Modern/splitpane/knob-vertical.png":[8,1,"png","qx","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","qx","qx/decoration/Modern/table-combined.png",0,0],"qx/decoration/Modern/table/boolean-false.png":[14,14,"png","qx","qx/decoration/Modern/table-combined.png",-80,0],"qx/decoration/Modern/table/boolean-true.png":[14,14,"png","qx","qx/decoration/Modern/table-combined.png",-26,0],"qx/decoration/Modern/table/descending.png":[8,5,"png","qx","qx/decoration/Modern/table-combined.png",-18,0],"qx/decoration/Modern/table/header-cell.png":[40,18,"png","qx","qx/decoration/Modern/table-combined.png",-40,0],"qx/decoration/Modern/table/select-column-order.png":[10,9,"png","qx","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","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-bottom-active-l.png":[5,14,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tab-button-bottom-active.png":[49,24,"png","qx"],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-b.png":[3,3,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-bottom-inactive-l.png":[3,15,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-bottom-inactive.png":[45,21,"png","qx"],"qx/decoration/Modern/tabview/tab-button-left-active-b.png":[5,5,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-left-active-l.png":[5,37,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-left-active-tb-combined.png",0,-20],"qx/decoration/Modern/tabview/tab-button-left-active.png":[22,47,"png","qx"],"qx/decoration/Modern/tabview/tab-button-left-inactive-b.png":[3,3,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-left-inactive-l.png":[3,39,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-left-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-left-inactive.png":[20,45,"png","qx"],"qx/decoration/Modern/tabview/tab-button-right-active-b.png":[5,5,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-right-active-l.png":[5,37,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-right-active-tb-combined.png",0,-10],"qx/decoration/Modern/tabview/tab-button-right-active.png":[22,47,"png","qx"],"qx/decoration/Modern/tabview/tab-button-right-inactive-b.png":[3,3,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-right-inactive-l.png":[3,39,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-right-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-right-inactive.png":[20,45,"png","qx"],"qx/decoration/Modern/tabview/tab-button-top-active-b.png":[5,5,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-top-active-l.png":[5,12,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-top-active-tb-combined.png",0,-5],"qx/decoration/Modern/tabview/tab-button-top-active.png":[48,22,"png","qx"],"qx/decoration/Modern/tabview/tab-button-top-inactive-b.png":[3,3,"png","qx","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","qx","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","qx","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","qx"],"qx/decoration/Modern/tabview/tab-button-top-inactive-l.png":[3,15,"png","qx","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","qx","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","qx","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","qx","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","qx","qx/decoration/Modern/tabview-button-top-inactive-t-combined.png",0,-6],"qx/decoration/Modern/tabview/tab-button-top-inactive.png":[45,21,"png","qx"],"qx/decoration/Modern/tabview/tabview-pane-b.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-60],"qx/decoration/Modern/tabview/tabview-pane-bl.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,0],"qx/decoration/Modern/tabview/tabview-pane-br.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-120],"qx/decoration/Modern/tabview/tabview-pane-c.png":[40,120,"png","qx"],"qx/decoration/Modern/tabview/tabview-pane-l.png":[30,2,"png","qx","qx/decoration/Modern/tabview-pane-lr-combined.png",0,0],"qx/decoration/Modern/tabview/tabview-pane-r.png":[30,2,"png","qx","qx/decoration/Modern/tabview-pane-lr-combined.png",-30,0],"qx/decoration/Modern/tabview/tabview-pane-t.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-150],"qx/decoration/Modern/tabview/tabview-pane-tl.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-30],"qx/decoration/Modern/tabview/tabview-pane-tr.png":[30,30,"png","qx","qx/decoration/Modern/tabview-pane-tb-combined.png",0,-90],"qx/decoration/Modern/tabview/tabview-pane.png":[185,250,"png","qx"],"qx/decoration/Modern/toolbar-combined.png":[80,130,"png","qx"],"qx/decoration/Modern/toolbar/toolbar-gradient-blue.png":[40,130,"png","qx","qx/decoration/Modern/toolbar-combined.png",-40,0],"qx/decoration/Modern/toolbar/toolbar-gradient.png":[40,130,"png","qx","qx/decoration/Modern/toolbar-combined.png",0,0],"qx/decoration/Modern/toolbar/toolbar-handle-knob.gif":[1,8,"gif","qx"],"qx/decoration/Modern/toolbar/toolbar-part.gif":[7,1,"gif","qx"],"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","qx","qx/decoration/Modern/tree-combined.png",-24,0],"qx/decoration/Modern/tree/closed.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",-16,0],"qx/decoration/Modern/tree/open-selected.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",-8,0],"qx/decoration/Modern/tree/open.png":[8,8,"png","qx","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","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-18],"qx/decoration/Modern/window/captionbar-active-bl.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-24],"qx/decoration/Modern/window/captionbar-active-br.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-12],"qx/decoration/Modern/window/captionbar-active-c.png":[40,9,"png","qx"],"qx/decoration/Modern/window/captionbar-active-l.png":[6,9,"png","qx","qx/decoration/Modern/window-captionbar-lr-active-combined.png",-6,0],"qx/decoration/Modern/window/captionbar-active-r.png":[6,9,"png","qx","qx/decoration/Modern/window-captionbar-lr-active-combined.png",0,0],"qx/decoration/Modern/window/captionbar-active-t.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-6],"qx/decoration/Modern/window/captionbar-active-tl.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,0],"qx/decoration/Modern/window/captionbar-active-tr.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-active-combined.png",0,-30],"qx/decoration/Modern/window/captionbar-active.png":[69,21,"png","qx"],"qx/decoration/Modern/window/captionbar-inactive-b.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-24],"qx/decoration/Modern/window/captionbar-inactive-bl.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-6],"qx/decoration/Modern/window/captionbar-inactive-br.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-30],"qx/decoration/Modern/window/captionbar-inactive-c.png":[40,9,"png","qx"],"qx/decoration/Modern/window/captionbar-inactive-l.png":[6,9,"png","qx","qx/decoration/Modern/window-captionbar-lr-inactive-combined.png",0,0],"qx/decoration/Modern/window/captionbar-inactive-r.png":[6,9,"png","qx","qx/decoration/Modern/window-captionbar-lr-inactive-combined.png",-6,0],"qx/decoration/Modern/window/captionbar-inactive-t.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,0],"qx/decoration/Modern/window/captionbar-inactive-tl.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-12],"qx/decoration/Modern/window/captionbar-inactive-tr.png":[6,6,"png","qx","qx/decoration/Modern/window-captionbar-tb-inactive-combined.png",0,-18],"qx/decoration/Modern/window/captionbar-inactive.png":[69,21,"png","qx"],"qx/decoration/Modern/window/close-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-27,0],"qx/decoration/Modern/window/close-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-9,0],"qx/decoration/Modern/window/close-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-90,0],"qx/decoration/Modern/window/maximize-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-18,0],"qx/decoration/Modern/window/maximize-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-81,0],"qx/decoration/Modern/window/maximize-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-54,0],"qx/decoration/Modern/window/minimize-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-63,0],"qx/decoration/Modern/window/minimize-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-72,0],"qx/decoration/Modern/window/minimize-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-36,0],"qx/decoration/Modern/window/restore-active-hovered.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",0,0],"qx/decoration/Modern/window/restore-active.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-99,0],"qx/decoration/Modern/window/restore-inactive.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-45,0],"qx/decoration/Modern/window/statusbar-b.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-16],"qx/decoration/Modern/window/statusbar-bl.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-20],"qx/decoration/Modern/window/statusbar-br.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-4],"qx/decoration/Modern/window/statusbar-c.png":[40,7,"png","qx"],"qx/decoration/Modern/window/statusbar-l.png":[4,7,"png","qx","qx/decoration/Modern/window-statusbar-lr-combined.png",-4,0],"qx/decoration/Modern/window/statusbar-r.png":[4,7,"png","qx","qx/decoration/Modern/window-statusbar-lr-combined.png",0,0],"qx/decoration/Modern/window/statusbar-t.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,0],"qx/decoration/Modern/window/statusbar-tl.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-8],"qx/decoration/Modern/window/statusbar-tr.png":[4,4,"png","qx","qx/decoration/Modern/window-statusbar-tb-combined.png",0,-12],"qx/decoration/Modern/window/statusbar.png":[369,15,"png","qx"],"qx/icon/Tango/16/actions/address-book-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/application-exit.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/appointment-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/bookmark-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/check-spelling.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/contact-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-apply.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-cancel.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-close.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-ok.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-open-recent.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-open.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-print-preview.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-print.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-properties.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-revert.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-save-as.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-save.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/document-send.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-clear.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-copy.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-cut.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-delete.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-find.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-paste.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-redo.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-select-all.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/edit-undo.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/folder-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-indent-less.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-indent-more.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-justify-center.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-justify-fill.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-justify-left.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-justify-right.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-bold.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-direction-ltr.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-direction-rtl.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-italic.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-strikethrough.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/format-text-underline.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-bottom.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-down.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-first.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-home.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-last.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-next.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-previous.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-top.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/go-up.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/help-about.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/help-contents.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/help-faq.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/insert-image.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/insert-link.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/insert-text.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/list-add.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/list-remove.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-forward.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-mark-important.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-mark-junk.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-mark-read.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-mark-unread.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-message-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-receive.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-reply-all.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-reply-sender.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/mail-send.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-eject.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-playback-pause.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-playback-start.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-playback-stop.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-record.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-seek-backward.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-seek-forward.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-skip-backward.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/media-skip-forward.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/object-flip-horizontal.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/object-flip-vertical.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/object-rotate-left.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/object-rotate-right.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/process-stop.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/system-log-out.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/system-run.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/system-search.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/system-shutdown.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-fullscreen.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-refresh.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-restore.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-sort-ascending.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-sort-descending.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/window-close.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/window-new.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/zoom-fit-best.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/zoom-in.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/zoom-original.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/zoom-out.png":[16,16,"png","qx"],"qx/icon/Tango/16/apps/office-calendar.png":[16,16,"png","qx"],"qx/icon/Tango/16/apps/preferences-clock.png":[16,16,"png","qx"],"qx/icon/Tango/16/apps/utilities-color-chooser.png":[16,16,"png","qx"],"qx/icon/Tango/16/mimetypes/office-document.png":[16,16,"png","qx"],"qx/icon/Tango/16/places/folder-open.png":[16,16,"png","qx"],"qx/icon/Tango/16/places/folder.png":[16,16,"png","qx"],"qx/icon/Tango/22/mimetypes/office-document.png":[22,22,"png","qx"],"qx/icon/Tango/22/places/folder-open.png":[22,22,"png","qx"],"qx/icon/Tango/22/places/folder.png":[22,22,"png","qx"],"qx/icon/Tango/32/mimetypes/office-document.png":[32,32,"png","qx"],"qx/icon/Tango/32/places/folder-open.png":[32,32,"png","qx"],"qx/icon/Tango/32/places/folder.png":[32,32,"png","qx"],"qx/static/blank.gif":[1,1,"gif","qx"]},"translations":{"C":{},"de":{"  at: %1":"  um: %1"," (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: Click: Sort by alias name / Shift-Click: Sort by login name":"%1 Geräte: Klick: Sortierung nach Aliasname / Umschalt-Klick: Sortierung nach Loginname","%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","&#xf8; Speed: ":"&#xf8; Tempo: ","(Buddy has empty permissions)":"(Initial ohne Rechte)","(Not logged in)":"(Nicht angemeldet)",", TK102 only":", nur TK102",", TK102/TK5000 only":", nur TK102/TK5000",", 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>Lost server connection</b><p />Possible causes are:<br /><ol><li>Your internet aceess was interrupted</li><li>The ESC key was hit</li></ol>Please try again later":"<b>Die Verbindung zum Webserver wurde unterbrochen</b><p />Mögliche Ursachen sind zum Beispiel:<br /><ol><li>Die Internetverbindung ist getrennt oder war unterbrochen</li><li>Die ESC-Taste wurde gedrückt</li></ol>Bitte melden Sie sich erneut an","<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 style='color:red'>REST call failed with HTTP status=%1</p><p>Error code: <span style='color:red'>%2</span></p>":"<p style='color:red'>REST Anfrage schlug fehl mit HTTP Status=%1</p><p>Fehlerkode: <span style='color:red'>%2</span></p>","<p style='color:red'>REST response timed out after %1 seconds.</p>The service did not respond, please check the URI and if your service is running and reachable":"<p style='color:red'>Zeitüberschreitung beim Warten auf REST Antwort nach %1 Sekunden.</p> Der Server antwortete nicht, überprüfen Sie bitte die URI und stellen sie sicher, dass der Server läuft und erreichbar ist. ","<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 power save mode (sleep mode) if configured, otherwise this rule has no effect.</p>":"<p><font color='red'>Achtung:</font> Falls Sie einen Stromsparmodus 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>","<p>REST request is send to <br /><code>%1</code></p><ul><li>We wait %2 seconds for the response to arrive</li><li>Check your REST server to see the call</li></ol>":"<p>REST Anfrage wird gesendet: <br/><code>%1</code></p><ul><li>%2 Sekunden auf Antwort warten.</li><li>Prüfen sie nach, ob die Anfrage auf Ihrem REST Server eingetroffen ist.</li></ol>","<span style='color:green'><br>Note: You can activate the device through the portal, by SMS, calling or shaking.</span>":"<span style='color:green'><br>Hinweis: Das Gerät kann durch das Portal, durch eine SMS, durch Anrufen oder durch Schütteln aktiviert werden.</span>","<span style='color:green'><br>Note: You can send an SMS or call the device to wake it up.</span>":"<span style='color:green'><br>Hinweis: Das Gerät kann durch eine SMS oder durch Anrufen aktiviert werden.</span>","<span style='color:green'><br>Note: You can send an SMS, call or shake the device to wake it up.</span>":"<span style='color:green'><br>Hinweis: Das Gerät kann durch eine SMS, durch Anrufen oder durch Schütteln aktiviert werden.</span>","<span style='color:green'>When disabled (default)</span>, the device will automatically close the GPRS session during roaming and buffer all new positions. Those positions will be sent out whenever the device returns to its standard (non-roaming) network. </br><span style='color:red'>When enabled</span>, the device will continue sending out positions using the GPRS connection of the roaming network. This may result in <b> high traffic cost </b> but supports real time tracking in any network.":"<span style='color:green'>Falls deaktiviert (Standard)</span> beendet das Gerät automatisch die GPRS Verbindung beim Roaming. Alle neuen Positionen werden zwischengepuffert und beim Wiedereintritt ins Heimnetz abgesendet. </br><span style='color:red'>Falls aktiviert</span> sendet das Gerät weiterhin Positionsdaten über die GPRS Verbindung des Roaming-Netzes. Dabei können <b> hohe Datentransferkosten </b> entstehen. Hiermit ist Echtzeittracking in jedem Netz möglich.","<span style='color:red'><br>Attention: In this mode, the device only wakes up on each 'Refresh GPS Data' interval (defaults to 1 hour). There is no other way to wake up the device for sending a new configuration.</span>":"<span style='color:red'><br>Achtung: In diesem Modus wacht das Gerät nur in jedem 'GPS Daten Aktualisieren' Intervall auf (Voreinstellung ist 1 Stunde). Es gibt keine andere Möglichkeit das Gerät zu aktivieren um eine neue Konfiguration zu senden.</span>","<span style='color:red'><br>Attention: You can shake the device to wake it up. Other methods won't work.</span>":"<span style='color:red'><br>Achtung: Das Gerät kann nur durch Schütteln aktiviert werden. Andere Methoden funktionieren nicht.</span>","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 Power Save Mode":"Stromsparmodus aktivieren","Activate to have sound notification in browser when alarm fires":"Tonbenachrichtigung im Browser sobald der Alarm auslöst. Bitte aktivieren falls gewünscht","Activation after":"Aktivierung nach","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.de DE":"Alarm.de DE","Alarm:":"Alarm:","Alarms with rule definitions":"Alarmereignis aus Regeldefinition","Alias name:":"Aliasname","Alias:":"Schöner Aliasname:","All Alarm Rules":"Alle Alarmregeln","Altitude difference by comparing adjacent height data and only adding them to the total when going uphill, in meters":"Höhendifferenz in Meter, summiert den Höhengewinn der Anstiege aber nicht die Höhen talwärts","Altitude: ":"Höhe: ","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","Available for enterprise customers only":"Nur für Enterprise-Kunden verfügbar","Average":"Summen","Average speed in kilometers per hour":"Durchschnittliche Geschwindigkeit in Kilometer pro Stunde","Base rule, fallback if no rule applies":"Basisregel, Einstellung falls keine Regel wirkt","Basic":"Basic Tarif","Basic access authentication":"Basic HTTP-Authentifizierung","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","Blue vector":"blauer Vektor","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","Buddy vector":"Buddy Vektor","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.","Calling REST is for enterprise customers only":"REST Aufrufe stehen nur Geschäftskunden zur Verfügung","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 Power Save Mode":"Stromsparmodus wählen","Choose a sound to be played in browser when alarm fires":"Sobald ein Alarm auslöst wird der gewählte Klang im Browser abgespielt","Choose rule:":"Regel wählen:","Choose the HTTP GET method. Defines to transfer the data (key/value pairs) as URL parameters":"Wählt die HTTP GET Übertragung. Die Datenpaare werden als URL Parameter übergeben","Choose the HTTP POST method. Transfer the data (key/value pairs) as form parameters":"Wählt die HTTP POST Übertragung. Die Datenpaare werden als Formular-Parameter übergeben","Choose the HTTP authentication schema to use":"Wählen Sie das zu verwendende HTTP Anmeldeverfahren","Click to configure my account attributes and add buddies":"Klicken um meine Kontoeinstellungen anzupassen oder um Gruppenmitglieder hinzuzufügen","Click to configure the buddy account settings and change permissions granted to %1":"Klicken um die Kontoeinstellungen des Gruppenmitglieds anzupassen oder um ihm Berechtigungen zu gewähren","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)","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 Power Save Mode":"Derzeit im Stromsparmodus","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:","Default | 1 Hour":"Standard | 1 Stunde","Default | 5 Minutes":"Standard | 5 Minuten","Default | GPS off, GSM on, GPRS off, G-sensor on":"Standard | GPS aus, GSM an , GPRS aus, G-sensor an","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 %1 is off-line":"Gerät %1 ist nicht erreichbar","Device %1 is off-line or you have no permissions":"Gerät %1 ist nicht erreichbar oder Sie haben keine Rechte","Device %1 is off-line, getting last known configuration":"Gerät %1 ist nicht verbunden, wir verwenden die zuletzt bekannte Konfiguration","Device IO State":"Input/Output-Status des Gerätes","Device control":"Geräteadministration","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","Distance: ":"Distanz: ","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:","Enable GPRS roaming":"GPRS Roaming aktivieren","Enable to transfer alarms automatically to your REST Webservice. The data is transfered as key/value pair, please call the support to get the format description of the keys used":"Ermöglicht Alarme an Ihren REST Webservice weiterzuleiten. Die Beschreibung der Datenpaare mit allen Informationen des Alarms erhalten Sie auf Anfrage beim Support","End Date":"Enddatum","End-Date:":"Ablaufdatum:","English en":"Englisch en","Enter an optional login name if your REST server expects one":"Tragen Sie den Anmeldename ein falls Ihr REST Server einen erwartet","Enter an optional password if your REST server expects one":"Tragen Sie das Passwort ein falls Ihr REST Server ein Passwort erwartet","Enter power save mode":"Tracker hat in den Stromsparmodus gewechselt","Enter the HTTP URL to contact your REST server":"Bitte geben Sie den HTTP URL Aufruf Ihres REST-Servers ein","Enterprise":"Enterprise Tarif","Error: %1 %2":"Fehler: %1 %2","Error: <font color='%1'>%2</font>":"Fehler: <font color='%1'>%2</font>","Error: Timeout":"Fehler: Keine Antwort","Established a GPRS socket connection":"Verbindung zum Tracker aufgebaut","Event log":"Ereignislog","Event log of %1":"Ereignislog von %1","Event to use:":"Auslösendes Ereignis:","Expert Mode":"Expertenmodus","Export":"Export","External power supply available":"Externe Spannung OK","External power supply lost":"Externe Spannung verloren","Fence No.:":"Geozaunnummer:","Filter":"Datumsfilter","First name:":"Vorname:","Forstware":"Forstware","Friday":"Freitag","From":"Von","From: ":"Von: ","From: %1":"Von: %1","GPS off, GSM off, GPRS off, G-sensor off":"GPS aus, GSM aus, GPRS aus, G-sensor aus","GPS off, GSM on, GPRS off, G-sensor off":"GPS aus, GSM an, GPRS aus, G-sensor aus","GPS off, GSM on, GPRS on, G-sensor on":"GPS aus, GSM an, GPRS an, G-sensor an","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:","IO Actions":"IO Schalter","Icons to show":"Anzahl Symbole","If the device is offline an SMS is send, this may take a minute or two":"Falls das Gerät nicht verbunden ist wird eine SMS gesendet, gedulden Sie sich in diesem Falle etwas","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:","Input / Output Actions On Alarm":"Input / Output Schaltung bei Alarm","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'","Is not supported by device":"Wird vom ausgewählten Gerät nicht unterstützt","Jetski AT":"Jetski AT","KML":"KML","Kilometer":"Kilometer","Kilometer per hour (metric system)":"Kilometer pro Stunde (metrisches System)","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","Limit the time range by setting up start and end date":"Zeitbereich mithilfe von Anfangs- und Enddatum einstellen.","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 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","Medium | 9 Hours":"Mittel | 9 Stunden","Medium | GPS off, GSM off, GPRS off, G-sensor on":"Mittel | GPS aus, GSM aus, GPRS aus, G-sensor an","Meter per minute (horse riding)":"Meter pro Minute (Pferdesport)","Meter per second (physics)":"Meter pro Sekunde (Physik)","Mile per hour (US, UK)":"Meilen pro Stunde (USA, England)","Minute per kilometer (jogging)":"Minuten pro Kilometer (Jogging)","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","Nautical mile per hour (sailing)":"Nautische Meilen pro Stunde (Segeln)","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 found":"Ein Gerät gefunden","One english landmile = 1.6093 kilometer":"Eine englische Landmeile =  1.6093 Kilometer","One nautical mile = 1.852 kilometer":"Eine Seemeile = 1.852 Kilometer","Open ColorSelector":"Öffne Farbauswahl","Other":"Sonstige","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 check your REST URL":"Überprüfen Sie bitte die REST URL","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 choose distance entity":"Bitte wählen Sie die Einheit für die Distanzanzeige","Please choose speed entity":"Bitte wählen Sie die Einheit für die Geschwindigkeitsanzeige","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 REST URI of your server":"Bitte geben sie eine gültige REST URI ihres Servers an.","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 Kommando 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]","Presets":"Voreinstellungen","Preview (Old/New)":"Vorschau (alt/neu)","Processing returnQosOrException failure":"Fehler beim Bearbeiten von returnQosOrException","Professional":"Professional Tarif","Question":"Frage","REST Webservice Call":"REST Webservice Aufruf","RGB":"RGB","Raw configure device %1":"Administrative Pflege vom Tracker %1","Re-type new password:":"Neues Passwort nochmal","Reboot":"Gerät-Neustart","Reboot the device, current settings are not lost":"Gerät neu starten (aktuelle Einstellungen bleiben erhalten)","Rebooting is not available for this device type":"Ein Geräteneustart ist bei diesem Gerätetyp nicht möglich","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","Refresh GPS Data":"GPS Daten 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","Response from REST:":"Antwort von REST:","Roaming switching is not available for this device type":"Roaming switching is not available for this device type","Rule %1":"Regel %1","Rule Definitions":"Alarmregeln","Rule Type":"Regeltyp","Rule name":"Regelname","Rule name:":"Name der Regel:","Rules":"Alarmregeln","SIMNET CZ":"SIMNET CZ","SMS":"SMS","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","Selected Mode:":"Gewählter Modus:","Send":"Senden","Send Alarm To":"Alarm senden an ...","Send Alarm To Email/SMS":"Alarme an Email/SMS senden","Send Configuration":"Konfiguration senden","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 power save mode configuration for %1":"Sende Stromsparmodus-Konfiguration an %1","Sending power save mode configuration for %1.<br/><b>Note: The buddy is offline</b>":"Sende Stromsparmodus-Konfiguration an %1. <br/><b>Hinweis: Das Gruppenmitglied ist momentan nicht erreichbar</b>","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","Sorry, can't call myself.":"Ich kann mich selbst leider nicht anrufen.","Sortable column":"Klick: Spalte wird sortiert","Sound":"Klang","Sound Notification":"Sound Benachrichtigung","Speed (km/h) for which max tracking rate applies:":"Max Geschwindigkeit für obiges Intervall [km/h]","Speed and Height":"Geschwindigkeit und Höhe","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):","Strong | 18 Hours":"Stark | 18 Stunden","Subject: <font color='%1'>%2</font>":"Betreff: <font color='%1'>%2</font>","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)","Tasks":"Aufgaben","Test":"Test","Test Mail From Portal":"Test-Email vom Portal","The buddy avatar, configure permissions":"Gruppenmitgliedstatus und Rechtevergabe","The device supports 25 geofence-leave rules simulatneously (Technical note: 1 is mapped to event-ID 75)":"Das Gerät unterstützt 25 'Geozaun-Verlassen' Regeln gleichzeitig (Technischer Hinweis: 1 wird auf Event-ID 75 umgerechnet)","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 configuration will only take effect if your device is reachable. <br> <br> Are you sure that your device is online (green LED)?":"Die neue Konfiguration wird nur in Kraft treten wenn das Gerät erreichbar ist. <br> <br> Sind Sie sicher, dass Ihr Gerät online ist (grüne LED)?","The new permissions are saved":"Die neuen Rechte sind gespeichert","The settings are stored permanently: %1":"Die Einstellungen sind gespeichert worden: %1","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 vector":"Zeit Vektor","Time:":"Uhrzeit:","Time: ":"Dauer: ","Timeout":"Zeitüberschreitung","Timeout, no response after %1 sec":"Kein Antwort nach %1 Sekunden","To":"An","To: ":"An: ","To: %1":"An: %1","Toggle roaming mode":"Roamingmodus umschalten","Total distance in kilometers":"Gesamte Distanz in Kilometer","Total elapsed time":"Gesamte Zeitdauer","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","Triggered at":"Ereignis vom","Tuesday":"Dienstag","Type":"Alarmtyp","Type:":"Typ:","URL/FORM parameter":"URL/FORM Parameter","Unknown rule type":"Unbekannte Regel","Until: ":"Bis: ","Upper Left (Long,Lat):":"Oben links (Länge/Breite):","Use Shift+Mouseclick to select a subset of GPS positions in the Table and calculate average values":"Selektieren Sie eine Teilmenge in der Tabelle mit Umschalt-Klick","User Admin":"Kontoadministration","User Administration":"Benutzeradministration","Using above time range":"obige Zeitspanne","Using above time range or selected rows":"obige Zeitspanne oder markierte Reihen","Vector":"Vektor","Video-Help":"Videohilfe","View Configuration":"Zeige Konfiguration","Visual":"Visuell","Wake up command":"Kommando zum Starten","Waking up from power save mode":"Tracker ist vom Stromsparmodus aufgewacht","Warning: <font color='%1'>Device is not connected. An SMS is send and we are now waiting for the SMS response from the device ...</font>":"Achtung: <font color='%1'>Das Gerät ist nicht verbunden. Eine SMS wurde gesendet und wir warten nun auf die SMS Antwort des Gerätes ...</font>","Warning: <font color='%1'>Device is not connected. The command is queued and will be send when device connects next time</font>":"Achtung: <font color='%1'>Das Gerät ist nicht verbunden. Der Befehl wird in die Warteschlange gestellt und beim nächsten Verbindungsaufbau gesendet</font>","Watchee":"Watchee","Wednesday":"Mittwoch","Width of segment":"Linienbreite (Pixel)","Will append '&_loginName=joe&_password=blabla' to the called URL":"Wird den angegebenen Anmeldename und das Passwort als URL Parameter übergeben: '&_loginName=joe&_password=blabla'","Will send given login name and password with a 'Basic authentication HTTP header' according to RFC 2617":"Wird den Anmeldenamen und das Passwort mit einem 'Basic authentication HTTP header' übertragen, entprechend RFC 2617","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 reboot the device":"Sie haben keine Berechtigung um einen Geräteneustart durchzuführen","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 no permission to toggle roaming":"Sie haben keine Rechte um den Roamingmodus umzuschalten","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 account expires in %1 days. <a href='%2' target='_blank'>Renew now</a>":"Ihre Lizenz endet in %1 Tagen. <a href='%2' target='_blank'>Erneuern</a>","Your account expires today. <a href='%1' target='_blank'>Renew now</a>":"Die Lizenz läuft heute aus! <a href='%1' target='_blank'>Erneuern</a>","Your account expires tomorrow. <a href='%2' target='_blank'>Renew now</a>":"Ihre Lizenz läuft morgen aus! <a href='%2' target='_blank'>Erneuern</a>","Your account is expired since %1 days. <a href='%2' target='_blank'>Renew now</a>":"Das Benutzerkonto ist seit %1 Tagen abgelaufen. <a href='%2' target='_blank'>Erneuern</a>","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","d ":"T ","degree a position":"Grad eine Position","h":"h","h ":"h ","is a new name":"Ist ein neuer Name","km":"km","km/h":"km/h","knots":"Knoten","m":"m","m ":"M ","m/min":"m/min","m/sec":"m/sek","miles":"Meilen","min":"Min","min ":"m ","min/km":"min/km","mph":"mph","one of one row":"Eine von einer Zeile","one row":"Eine Zeile","sec":"s","sm":"sm","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>","y ":"J "},"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 m="toString",k=".",j="default",h="Object",g='"',f="Array",e="()",d="String",c="Function",b=".prototype",L="function",K="Boolean",J="Error",I="constructor",H="warn",G="hasOwnProperty",F="string",E="toLocaleString",D="RegExp",C='\", "',t="info",u="BROKEN_IE",r="isPrototypeOf",s="Date",p="",q="qx.Bootstrap",n="]",o="Class",v="error",w="[Class ",y="valueOf",x="Number",A="count",z="debug",B="ES5";
if(!window.qx){window.qx={};
}qx.Bootstrap={genericToString:function(){return w+this.classname+n;
},createNamespace:function(name,M){var O=name.split(k);
var parent=window;
var N=O[0];

for(var i=0,P=O.length-1;i<P;i++,N=O[i]){if(!parent[N]){parent=parent[N]={};
}else{parent=parent[N];
}}parent[N]=M;
return N;
},setDisplayName:function(Q,R,name){Q.displayName=R+k+name+e;
},setDisplayNames:function(S,T){for(var name in S){var U=S[name];

if(U instanceof Function){U.displayName=T+k+name+e;
}}},define:function(name,V){if(!V){var V={statics:{}};
}var bb;
var Y=null;
qx.Bootstrap.setDisplayNames(V.statics,name);

if(V.members||V.extend){qx.Bootstrap.setDisplayNames(V.members,name+b);
bb=V.construct||new Function;

if(V.extend){this.extendClass(bb,bb,V.extend,name,ba);
}var W=V.statics||{};
for(var i=0,bc=qx.Bootstrap.getKeys(W),l=bc.length;i<l;i++){var bd=bc[i];
bb[bd]=W[bd];
}Y=bb.prototype;
var X=V.members||{};
for(var i=0,bc=qx.Bootstrap.getKeys(X),l=bc.length;i<l;i++){var bd=bc[i];
Y[bd]=X[bd];
}}else{bb=V.statics||{};
}var ba=this.createNamespace(name,bb);
bb.name=bb.classname=name;
bb.basename=ba;
bb.$$type=o;
if(!bb.hasOwnProperty(m)){bb.toString=this.genericToString;
}if(V.defer){V.defer(bb,Y);
}qx.Bootstrap.$$registry[name]=V.statics;
return bb;
}};
qx.Bootstrap.define(q,{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(be,bf,bg,name,bh){var bk=bg.prototype;
var bj=new Function;
bj.prototype=bk;
var bi=new bj;
be.prototype=bi;
bi.name=bi.classname=name;
bi.basename=bh;
bf.base=be.superclass=bg;
bf.self=be.constructor=bi.constructor=be;
},getByName:function(name){return qx.Bootstrap.$$registry[name];
},$$registry:{},objectGetLength:({"count":function(bl){return bl.__count__;
},"default":function(bm){var length=0;

for(var bn in bm){length++;
}return length;
}})[(({}).__count__==0)?A:j],objectMergeWith:function(bo,bp,bq){if(bq===undefined){bq=true;
}
for(var br in bp){if(bq||bo[br]===undefined){bo[br]=bp[br];
}}return bo;
},__a:[r,G,E,m,y,I],getKeys:({"ES5":Object.keys,"BROKEN_IE":function(bs){var bt=[];
var bv=Object.prototype.hasOwnProperty;

for(var bw in bs){if(bv.call(bs,bw)){bt.push(bw);
}}var bu=qx.Bootstrap.__a;

for(var i=0,a=bu,l=a.length;i<l;i++){if(bv.call(bs,a[i])){bt.push(a[i]);
}}return bt;
},"default":function(bx){var by=[];
var bz=Object.prototype.hasOwnProperty;

for(var bA in bx){if(bz.call(bx,bA)){by.push(bA);
}}return by;
}})[typeof (Object.keys)==
L?B:
(function(){for(var bB in {toString:1}){return bB;
}})()!==m?u:j],getKeysAsString:function(bC){var bD=qx.Bootstrap.getKeys(bC);

if(bD.length==0){return p;
}return g+bD.join(C)+g;
},__b:{"[object String]":d,"[object Array]":f,"[object Object]":h,"[object RegExp]":D,"[object Number]":x,"[object Boolean]":K,"[object Date]":s,"[object Function]":c,"[object Error]":J},bind:function(bE,self,bF){var bG=Array.prototype.slice.call(arguments,2,arguments.length);
return function(){var bH=Array.prototype.slice.call(arguments,0,arguments.length);
return bE.apply(self,bG.concat(bH));
};
},firstUp:function(bI){return bI.charAt(0).toUpperCase()+bI.substr(1);
},firstLow:function(bJ){return bJ.charAt(0).toLowerCase()+bJ.substr(1);
},getClass:function(bK){var bL=Object.prototype.toString.call(bK);
return (qx.Bootstrap.__b[bL]||bL.slice(8,-1));
},isString:function(bM){return (bM!==null&&(typeof bM===F||qx.Bootstrap.getClass(bM)==d||bM instanceof String||(!!bM&&!!bM.$$isString)));
},isArray:function(bN){return (bN!==null&&(bN instanceof Array||(bN&&qx.data&&qx.data.IListData&&qx.Bootstrap.hasInterface(bN.constructor,qx.data.IListData))||qx.Bootstrap.getClass(bN)==f||(!!bN&&!!bN.$$isArray)));
},isObject:function(bO){return (bO!==undefined&&bO!==null&&qx.Bootstrap.getClass(bO)==h);
},isFunction:function(bP){return qx.Bootstrap.getClass(bP)==c;
},classIsDefined:function(name){return qx.Bootstrap.getByName(name)!==undefined;
},getPropertyDefinition:function(bQ,name){while(bQ){if(bQ.$$properties&&bQ.$$properties[name]){return bQ.$$properties[name];
}bQ=bQ.superclass;
}return null;
},hasProperty:function(bR,name){return !!qx.Bootstrap.getPropertyDefinition(bR,name);
},getEventType:function(bS,name){var bS=bS.constructor;

while(bS.superclass){if(bS.$$events&&bS.$$events[name]!==undefined){return bS.$$events[name];
}bS=bS.superclass;
}return null;
},supportsEvent:function(bT,name){return !!qx.Bootstrap.getEventType(bT,name);
},getByInterface:function(bU,bV){var bW,i,l;

while(bU){if(bU.$$implements){bW=bU.$$flatImplements;

for(i=0,l=bW.length;i<l;i++){if(bW[i]===bV){return bU;
}}}bU=bU.superclass;
}return null;
},hasInterface:function(bX,bY){return !!qx.Bootstrap.getByInterface(bX,bY);
},getMixins:function(ca){var cb=[];

while(ca){if(ca.$$includes){cb.push.apply(cb,ca.$$flatIncludes);
}ca=ca.superclass;
}return cb;
},$$logs:[],debug:function(cc,cd){qx.Bootstrap.$$logs.push([z,arguments]);
},info:function(ce,cf){qx.Bootstrap.$$logs.push([t,arguments]);
},warn:function(cg,ch){qx.Bootstrap.$$logs.push([H,arguments]);
},error:function(ci,cj){qx.Bootstrap.$$logs.push([v,arguments]);
},trace:function(ck){}}});
})();
(function(){var g="qx.Mixin",f=".prototype",e="constructor",d="[Mixin ",c="]",b="destruct",a="Mixin";
qx.Bootstrap.define(g,{statics:{define:function(name,h){if(h){if(h.include&&!(h.include instanceof Array)){h.include=[h.include];
}{};
var k=h.statics?h.statics:{};
qx.Bootstrap.setDisplayNames(k,name);

for(var j in k){if(k[j] instanceof Function){k[j].$$mixin=k;
}}if(h.construct){k.$$constructor=h.construct;
qx.Bootstrap.setDisplayName(h.construct,name,e);
}
if(h.include){k.$$includes=h.include;
}
if(h.properties){k.$$properties=h.properties;
}
if(h.members){k.$$members=h.members;
qx.Bootstrap.setDisplayNames(h.members,name+f);
}
for(var j in k.$$members){if(k.$$members[j] instanceof Function){k.$$members[j].$$mixin=k;
}}
if(h.events){k.$$events=h.events;
}
if(h.destruct){k.$$destructor=h.destruct;
qx.Bootstrap.setDisplayName(h.destruct,name,b);
}}else{var k={};
}k.$$type=a;
k.name=name;
k.toString=this.genericToString;
k.basename=qx.Bootstrap.createNamespace(name,k);
this.$$registry[name]=k;
return k;
},checkCompatibility:function(m){var p=this.flatten(m);
var q=p.length;

if(q<2){return true;
}var t={};
var s={};
var r={};
var o;

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

for(var n in o.events){if(r[n]){throw new Error('Conflict between mixin "'+o.name+'" and "'+r[n]+'" in member "'+n+'"!');
}r[n]=o.name;
}
for(var n in o.properties){if(t[n]){throw new Error('Conflict between mixin "'+o.name+'" and "'+t[n]+'" in property "'+n+'"!');
}t[n]=o.name;
}
for(var n in o.members){if(s[n]){throw new Error('Conflict between mixin "'+o.name+'" and "'+s[n]+'" in member "'+n+'"!');
}s[n]=o.name;
}}return true;
},isCompatible:function(u,v){var w=qx.Bootstrap.getMixins(v);
w.push(u);
return qx.Mixin.checkCompatibility(w);
},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(x){if(!x){return [];
}var y=x.concat();

for(var i=0,l=x.length;i<l;i++){if(x[i].$$includes){y.push.apply(y,this.flatten(x[i].$$includes));
}}return y;
},genericToString:function(){return d+this.name+c;
},$$registry:{},__c:null,__d:function(){}}});
})();
(function(){var h="qx.allowUrlSettings",g="&",f="qx.core.Setting",e="qx.allowUrlVariants",d="qx.propertyDebugLevel",c="qxsetting",b=":",a=".";
qx.Bootstrap.define(f,{statics:{__e:{},define:function(j,k){if(k===undefined){throw new Error('Default value of setting "'+j+'" must be defined!');
}
if(!this.__e[j]){this.__e[j]={};
}else if(this.__e[j].defaultValue!==undefined){throw new Error('Setting "'+j+'" is already defined!');
}this.__e[j].defaultValue=k;
},get:function(l){var m=this.__e[l];

if(m===undefined){throw new Error('Setting "'+l+'" is not defined.');
}
if(m.value!==undefined){return m.value;
}return m.defaultValue;
},set:function(n,o){if((n.split(a)).length<2){throw new Error('Malformed settings key "'+n+'". Must be following the schema "namespace.key".');
}
if(!this.__e[n]){this.__e[n]={};
}this.__e[n].value=o;
},__f:function(){if(window.qxsettings){for(var p in window.qxsettings){this.set(p,window.qxsettings[p]);
}window.qxsettings=undefined;

try{delete window.qxsettings;
}catch(q){}this.__g();
}},__g:function(){if(this.get(h)!=true){return;
}var s=document.location.search.slice(1).split(g);

for(var i=0;i<s.length;i++){var r=s[i].split(b);

if(r.length!=3||r[0]!=c){continue;
}this.set(r[1],decodeURIComponent(r[2]));
}}},defer:function(t){t.define(h,false);
t.define(e,false);
t.define(d,0);
t.__f();
}});
})();
(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,j){if(j){if(j.extend&&!(j.extend instanceof Array)){j.extend=[j.extend];
}{};
var k=j.statics?j.statics:{};
if(j.extend){k.$$extends=j.extend;
}
if(j.properties){k.$$properties=j.properties;
}
if(j.members){k.$$members=j.members;
}
if(j.events){k.$$events=j.events;
}}else{var k={};
}k.$$type=c;
k.name=name;
k.toString=this.genericToString;
k.basename=qx.Bootstrap.createNamespace(name,k);
qx.Interface.$$registry[name]=k;
return k;
},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;
},__h:function(o,p,q,r){var v=q.$$members;

if(v){for(var u in v){if(qx.Bootstrap.isFunction(v[u])){var t=this.__i(p,u);
var s=t||qx.Bootstrap.isFunction(o[u]);

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

if(w){o[u]=this.__l(q,o[u],u,v[u]);
}}else{if(typeof o[u]===undefined){if(typeof o[u]!==h){throw new Error('Implementation of member "'+u+'" is missing in class "'+p.classname+'" required by interface "'+q.name+'"');
}}}}}},__i:function(x,y){var C=y.match(/^(is|toggle|get|set|reset)(.*)$/);

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

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

if(B){return qx.Bootstrap.getPropertyDefinition(x,z).check==g;
}return true;
},__j:function(D,E){if(E.$$properties){for(var F in E.$$properties){if(!qx.Bootstrap.getPropertyDefinition(D,F)){throw new Error('The property "'+F+'" is not supported by Class "'+D.classname+'"!');
}}}},__k:function(G,H){if(H.$$events){for(var I in H.$$events){if(!qx.Bootstrap.supportsEvent(G,I)){throw new Error('The event "'+I+'" is not supported by Class "'+G.classname+'"!');
}}}},assertObject:function(J,K){var M=J.constructor;
this.__h(J,M,K,false);
this.__j(M,K);
this.__k(M,K);
var L=K.$$extends;

if(L){for(var i=0,l=L.length;i<l;i++){this.assertObject(J,L[i]);
}}},assert:function(N,O,P){this.__h(N.prototype,N,O,P);
this.__j(N,O);
this.__k(N,O);
var Q=O.$$extends;

if(Q){for(var i=0,l=Q.length;i<l;i++){this.assert(N,Q[i],P);
}}},genericToString:function(){return a+this.name+e;
},$$registry:{},__l:function(){},__m:null,__n:function(){}}});
})();
(function(){var d="qx.core.Aspect",c="before",b="*",a="static";
qx.Bootstrap.define(d,{statics:{__o:[],wrap:function(e,f,g){var m=[];
var h=[];
var l=this.__o;
var k;

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

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

for(var i=0;i<h.length;i++){h[i].call(this,e,f,g,arguments,n);
}return n;
};

if(g!==a){j.self=f.self;
j.base=f.base;
}f.wrapper=j;
j.original=f;
return j;
},addAdvice:function(o,p,q,name){this.__o.push({fcn:o,pos:p===c?-1:1,type:q,name:name});
}}});
})();
(function(){var g="emulated",f="native",e='"',d="qx.lang.Core",c="\\\\",b="\\\"",a="[object Error]";
qx.Bootstrap.define(d,{statics:{errorToString:{"native":Error.prototype.toString,"emulated":function(){return this.message;
}}[(!Error.prototype.toString||Error.prototype.toString()==a)?g:f],arrayIndexOf:{"native":Array.prototype.indexOf,"emulated":function(h,j){if(j==null){j=0;
}else if(j<0){j=Math.max(0,this.length+j);
}
for(var i=j;i<this.length;i++){if(this[i]===h){return i;
}}return -1;
}}[Array.prototype.indexOf?f:g],arrayLastIndexOf:{"native":Array.prototype.lastIndexOf,"emulated":function(k,m){if(m==null){m=this.length-1;
}else if(m<0){m=Math.max(0,this.length+m);
}
for(var i=m;i>=0;i--){if(this[i]===k){return i;
}}return -1;
}}[Array.prototype.lastIndexOf?f:g],arrayForEach:{"native":Array.prototype.forEach,"emulated":function(n,o){var l=this.length;

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

if(p!==undefined){n.call(o||window,p,i,this);
}}}}[Array.prototype.forEach?f:g],arrayFilter:{"native":Array.prototype.filter,"emulated":function(q,r){var s=[];
var l=this.length;

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

if(t!==undefined){if(q.call(r||window,t,i,this)){s.push(this[i]);
}}}return s;
}}[Array.prototype.filter?f:g],arrayMap:{"native":Array.prototype.map,"emulated":function(u,v){var w=[];
var l=this.length;

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

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

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

if(A!==undefined){if(y.call(z||window,A,i,this)){return true;
}}}return false;
}}[Array.prototype.some?f:g],arrayEvery:{"native":Array.prototype.every,"emulated":function(B,C){var l=this.length;

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

if(D!==undefined){if(!B.call(C||window,D,i,this)){return false;
}}}return true;
}}[Array.prototype.every?f:g],stringQuote:{"native":String.prototype.quote,"emulated":function(){return e+this.replace(/\\/g,c).replace(/\"/g,b)+e;
}}[String.prototype.quote?f:g]}});
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 s="gecko",r="1.9.0.0",q=".",p="[object Opera]",o="function",n="[^\\.0-9]",m="525.26",l="",k="mshtml",j="AppleWebKit/",d="unknown",i="9.6.0",g="4.0",c="Gecko",b="opera",f="webkit",e="0.0.0",h="8.0",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,__p:function(){var t=d;
var x=e;
var w=window.navigator.userAgent;
var z=false;
var v=false;

if(window.opera&&Object.prototype.toString.call(window.opera)==p){t=b;
this.OPERA=true;
if(/Opera[\s\/]([0-9]+)\.([0-9])([0-9]*)/.test(w)){x=RegExp.$1+q+RegExp.$2;

if(RegExp.$3!=l){x+=q+RegExp.$3;
}}else{v=true;
x=i;
}}else if(window.navigator.userAgent.indexOf(j)!=-1){t=f;
this.WEBKIT=true;

if(/AppleWebKit\/([^ ]+)/.test(w)){x=RegExp.$1;
var y=RegExp(n).exec(x);

if(y){x=x.slice(0,y.index);
}}else{v=true;
x=m;
}}else if(window.controllers&&window.navigator.product===c){t=s;
this.GECKO=true;
if(/rv\:([^\);]+)(\)|;)/.test(w)){x=RegExp.$1;
}else{v=true;
x=r;
}}else if(window.navigator.cpuClass&&/MSIE\s+([^\);]+)(\)|;)/.test(w)){t=k;
x=RegExp.$1;

if(document.documentMode){this.DOCUMENT_MODE=document.documentMode;
}if(x<8&&/Trident\/([^\);]+)(\)|;)/.test(w)){if(RegExp.$1===g){x=h;
}}this.MSHTML=true;
}else{var u=window.qxFail;

if(u&&typeof u===o){var t=u();

if(t.NAME&&t.FULLVERSION){t=t.NAME;
this[t.toUpperCase()]=true;
x=t.FULLVERSION;
}}else{z=true;
v=true;
x=r;
t=s;
this.GECKO=true;
qx.Bootstrap.warn("Unsupported client: "+w+"! Assumed gecko version 1.9.0.0 (Firefox 3.0).");
}}this.UNKNOWN_ENGINE=z;
this.UNKNOWN_VERSION=v;
this.NAME=t;
this.FULLVERSION=x;
this.VERSION=parseFloat(x);
}},defer:function(A){A.__p();
}});
})();
(function(){var x="off",w="on",u="|",t="default",s="object",r="&",q="qx.aspects",p="qx.mobile.nativescroll",o="qx.mobile.emulatetouch",n="$",e="qx.allowUrlVariants",m="qx.debug",h="qx.client",c="qx.dynlocale",b="webkit",g="qxvariant",f="opera",j=":",a="qx.core.Variant",k="mshtml",d="gecko";
qx.Bootstrap.define(a,{statics:{__q:{},__r:{},compilerIsSet:function(){return true;
},define:function(y,z,A){{};

if(!this.__q[y]){this.__q[y]={};
}else{}this.__q[y].allowedValues=z;
this.__q[y].defaultValue=A;
},get:function(B){var C=this.__q[B];
{};

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

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

try{delete window.qxvariants;
}catch(E){}this.__t(this.__q);
}},__t:function(){if(qx.core.Setting.get(e)!=true){return;
}var F=document.location.search.slice(1).split(r);

for(var i=0;i<F.length;i++){var G=F[i].split(j);

if(G.length!=3||G[0]!=g){continue;
}var H=G[1];

if(!this.__q[H]){this.__q[H]={};
}this.__q[H].value=decodeURIComponent(G[2]);
}},select:function(I,J){{};

for(var K in J){if(this.isSet(I,K)){return J[K];
}}
if(J[t]!==undefined){return J[t];
}{};
},isSet:function(L,M){var N=L+n+M;

if(this.__r[N]!==undefined){return this.__r[N];
}var P=false;
if(M.indexOf(u)<0){P=this.get(L)===M;
}else{var O=M.split(u);

for(var i=0,l=O.length;i<l;i++){if(this.get(L)===O[i]){P=true;
break;
}}}this.__r[N]=P;
return P;
},__u:function(v){return typeof v===s&&v!==null&&v instanceof Array;
},__v:function(v){return typeof v===s&&v!==null&&!(v instanceof Array);
},__w:function(Q,R){for(var i=0,l=Q.length;i<l;i++){if(Q[i]==R){return true;
}}return false;
}},defer:function(S){S.define(h,[d,k,f,b],qx.bom.client.Engine.NAME);
S.define(m,[w,x],w);
S.define(q,[w,x],x);
S.define(c,[w,x],w);
S.define(o,[w,x],x);
S.define(p,[w,x],x);
S.__s();
}});
})();
(function(){var m=';',k='return this.',j="boolean",h="string",g='!==undefined)',f='else if(this.',e='if(this.',d='else ',c=' of an instance of ',b=' is not (yet) ready!");',bi="init",bh='qx.lang.Type.isString(value) && qx.util.ColorUtil.isValidPropertyValue(value)',bg='value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)',bf=" of class ",be='qx.core.Assert.assertInstance(value, Date, msg) || true',bd='value !== null && value.nodeType !== undefined',bc='var inherit=prop.$$inherit;',bb='value !== null && value.nodeType === 9 && value.documentElement',ba='return init;',Y='value !== null && value.$$type === "Mixin"',t='qx.core.Assert.assertMap(value, msg) || true',u='var init=this.',r='return value;',s='qx.core.Assert.assertNumber(value, msg) || true',p='qx.core.Assert.assertPositiveInteger(value, msg) || true',q="': ",n="Error in property ",o='if(init==qx.core.Property.$$inherit)init=null;',x='qx.core.Assert.assertInteger(value, msg) || true',y="rv:1.8.1",G='value !== null && value.$$type === "Interface"',E="set",O='value !== null && value.$$type === "Theme"',J='qx.core.Assert.assertInstance(value, RegExp, msg) || true',U='value !== null && value.type !== undefined',S='value !== null && value.document',A=" in method ",X='qx.core.Assert.assertInstance(value, Error, msg) || true',W='throw new Error("Property ',V='qx.core.Assert.assertBoolean(value, msg) || true',z='return null;',C='qx.core.Assert.assertObject(value, msg) || true',D="setRuntime",F='value !== null && value.nodeType === 1 && value.attributes',H=" with incoming value '",K="setThemed",P='qx.core.Assert.assertString(value, msg) || true',T="inherit",v='value !== null && value.$$type === "Class"',w='qx.core.Assert.assertFunction(value, msg) || true',B='value !== null && qx.theme.manager.Decoration.getInstance().isValidPropertyValue(value)',N='qx.core.Assert.assertArray(value, msg) || true',M='qx.core.Assert.assertPositiveNumber(value, msg) || true',L="object",R="MSIE 6.0",Q='if(init==qx.core.Property.$$inherit)throw new Error("Inheritable property ',I="qx.core.Property";
qx.Bootstrap.define(I,{statics:{__x:{"Boolean":V,"String":P,"Number":s,"Integer":x,"PositiveNumber":M,"PositiveInteger":p,"Error":X,"RegExp":J,"Object":C,"Array":N,"Map":t,"Function":w,"Date":be,"Node":bd,"Element":F,"Document":bb,"Window":S,"Event":U,"Class":v,"Mixin":Y,"Interface":G,"Theme":O,"Color":bh,"Decorator":B,"Font":bg},__y:{"Node":true,"Element":true,"Document":true,"Window":true,"Event":true},$$inherit:T,$$store:{runtime:{},user:{},theme:{},inherit:{},init:{},useinit:{}},$$method:{get:{},set:{},reset:{},init:{},refresh:{},setRuntime:{},resetRuntime:{},setThemed:{},resetThemed:{}},$$allowedKeys:{name:h,dereference:j,inheritable:j,nullable:j,themeable:j,refine:j,init:null,apply:h,event:h,check:null,transform:h,deferredInit:j,validate:null},$$allowedGroupKeys:{name:h,group:L,mode:h,themeable:j},$$inheritable:{},__z:function(bj){var bk=this.__A(bj);

if(!bk.length){var bl=qx.lang.Function.empty;
}else{bl=this.__B(bk);
}bj.prototype.$$refreshInheritables=bl;
},__A:function(bm){var bo=[];

while(bm){var bn=bm.$$properties;

if(bn){for(var name in this.$$inheritable){if(bn[name]&&bn[name].inheritable){bo.push(name);
}}}bm=bm.superclass;
}return bo;
},__B:function(bp){var bt=this.$$store.inherit;
var bs=this.$$store.init;
var br=this.$$method.refresh;
var bq=["var parent = this.getLayoutParent();","if (!parent) return;"];

for(var i=0,l=bp.length;i<l;i++){var name=bp[i];
bq.push("var value = parent.",bt[name],";","if (value===undefined) value = parent.",bs[name],";","this.",br[name],"(value);");
}return new Function(bq.join(""));
},attachRefreshInheritables:function(bu){bu.prototype.$$refreshInheritables=function(){qx.core.Property.__z(bu);
return this.$$refreshInheritables();
};
},attachMethods:function(bv,name,bw){bw.group?this.__C(bv,bw,name):this.__D(bv,bw,name);
},__C:function(bx,by,name){var bF=qx.Bootstrap.firstUp(name);
var bE=bx.prototype;
var bG=by.themeable===true;
{};
var bH=[];
var bB=[];

if(bG){var bz=[];
var bD=[];
}var bC="var a=arguments[0] instanceof Array?arguments[0]:arguments;";
bH.push(bC);

if(bG){bz.push(bC);
}
if(by.mode=="shorthand"){var bA="a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";
bH.push(bA);

if(bG){bz.push(bA);
}}
for(var i=0,a=by.group,l=a.length;i<l;i++){{};
bH.push("this.",this.$$method.set[a[i]],"(a[",i,"]);");
bB.push("this.",this.$$method.reset[a[i]],"();");

if(bG){{};
bz.push("this.",this.$$method.setThemed[a[i]],"(a[",i,"]);");
bD.push("this.",this.$$method.resetThemed[a[i]],"();");
}}this.$$method.set[name]="set"+bF;
bE[this.$$method.set[name]]=new Function(bH.join(""));
this.$$method.reset[name]="reset"+bF;
bE[this.$$method.reset[name]]=new Function(bB.join(""));

if(bG){this.$$method.setThemed[name]="setThemed"+bF;
bE[this.$$method.setThemed[name]]=new Function(bz.join(""));
this.$$method.resetThemed[name]="resetThemed"+bF;
bE[this.$$method.resetThemed[name]]=new Function(bD.join(""));
}},__D:function(bI,bJ,name){var bL=qx.Bootstrap.firstUp(name);
var bN=bI.prototype;
{};
if(bJ.dereference===undefined&&typeof bJ.check==="string"){bJ.dereference=this.__E(bJ.check);
}var bM=this.$$method;
var bK=this.$$store;
bK.runtime[name]="$$runtime_"+name;
bK.user[name]="$$user_"+name;
bK.theme[name]="$$theme_"+name;
bK.init[name]="$$init_"+name;
bK.inherit[name]="$$inherit_"+name;
bK.useinit[name]="$$useinit_"+name;
bM.get[name]="get"+bL;
bN[bM.get[name]]=function(){return qx.core.Property.executeOptimizedGetter(this,bI,name,"get");
};
bM.set[name]="set"+bL;
bN[bM.set[name]]=function(bO){return qx.core.Property.executeOptimizedSetter(this,bI,name,"set",arguments);
};
bM.reset[name]="reset"+bL;
bN[bM.reset[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,bI,name,"reset");
};

if(bJ.inheritable||bJ.apply||bJ.event||bJ.deferredInit){bM.init[name]="init"+bL;
bN[bM.init[name]]=function(bP){return qx.core.Property.executeOptimizedSetter(this,bI,name,"init",arguments);
};
}
if(bJ.inheritable){bM.refresh[name]="refresh"+bL;
bN[bM.refresh[name]]=function(bQ){return qx.core.Property.executeOptimizedSetter(this,bI,name,"refresh",arguments);
};
}bM.setRuntime[name]="setRuntime"+bL;
bN[bM.setRuntime[name]]=function(bR){return qx.core.Property.executeOptimizedSetter(this,bI,name,"setRuntime",arguments);
};
bM.resetRuntime[name]="resetRuntime"+bL;
bN[bM.resetRuntime[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,bI,name,"resetRuntime");
};

if(bJ.themeable){bM.setThemed[name]="setThemed"+bL;
bN[bM.setThemed[name]]=function(bS){return qx.core.Property.executeOptimizedSetter(this,bI,name,"setThemed",arguments);
};
bM.resetThemed[name]="resetThemed"+bL;
bN[bM.resetThemed[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,bI,name,"resetThemed");
};
}
if(bJ.check==="Boolean"){bN["toggle"+bL]=new Function("return this."+bM.set[name]+"(!this."+bM.get[name]+"())");
bN["is"+bL]=new Function("return this."+bM.get[name]+"()");
}},__E:function(bT){return !!this.__y[bT];
},__F:function(bU){return this.__y[bU]||qx.Bootstrap.classIsDefined(bU)||(qx.Interface&&qx.Interface.isDefined(bU));
},__G:{0:'Could not change or apply init value after constructing phase!',1:'Requires exactly one argument!',2:'Undefined value is not allowed!',3:'Does not allow any arguments!',4:'Null value is not allowed!',5:'Is invalid!'},error:function(bV,bW,bX,bY,ca){var cb=bV.constructor.classname;
var cc=n+bX+bf+cb+A+this.$$method[bY][bX]+H+ca+q;
throw new Error(cc+(this.__G[bW]||"Unknown reason: "+bW));
},__H:function(cd,ce,name,cf,cg,ch){var ci=this.$$method[cf][name];
{ce[ci]=new Function("value",cg.join(""));
};
if(qx.core.Variant.isSet("qx.aspects","on")){ce[ci]=qx.core.Aspect.wrap(cd.classname+"."+ci,ce[ci],"property");
}qx.Bootstrap.setDisplayName(ce[ci],cd.classname+".prototype",ci);
if(ch===undefined){return cd[ci]();
}else{return cd[ci](ch[0]);
}},executeOptimizedGetter:function(cj,ck,name,cl){var cn=ck.$$properties[name];
var cp=ck.prototype;
var cm=[];
var co=this.$$store;
cm.push(e,co.runtime[name],g);
cm.push(k,co.runtime[name],m);

if(cn.inheritable){cm.push(f,co.inherit[name],g);
cm.push(k,co.inherit[name],m);
cm.push(d);
}cm.push(e,co.user[name],g);
cm.push(k,co.user[name],m);

if(cn.themeable){cm.push(f,co.theme[name],g);
cm.push(k,co.theme[name],m);
}
if(cn.deferredInit&&cn.init===undefined){cm.push(f,co.init[name],g);
cm.push(k,co.init[name],m);
}cm.push(d);

if(cn.init!==undefined){if(cn.inheritable){cm.push(u,co.init[name],m);

if(cn.nullable){cm.push(o);
}else if(cn.init!==undefined){cm.push(k,co.init[name],m);
}else{cm.push(Q,name,c,ck.classname,b);
}cm.push(ba);
}else{cm.push(k,co.init[name],m);
}}else if(cn.inheritable||cn.nullable){cm.push(z);
}else{cm.push(W,name,c,ck.classname,b);
}return this.__H(cj,cp,name,cl,cm);
},executeOptimizedSetter:function(cq,cr,name,cs,ct){var cy=cr.$$properties[name];
var cx=cr.prototype;
var cv=[];
var cu=cs===E||cs===K||cs===D||(cs===bi&&cy.init===undefined);
var cw=cy.apply||cy.event||cy.inheritable;
var cz=this.__I(cs,name);
this.__J(cv,cy,name,cs,cu);

if(cu){this.__K(cv,cr,cy,name);
}
if(cw){this.__L(cv,cu,cz,cs);
}
if(cy.inheritable){cv.push(bc);
}{};

if(!cw){this.__N(cv,name,cs,cu);
}else{this.__O(cv,cy,name,cs,cu);
}
if(cy.inheritable){this.__P(cv,cy,name,cs);
}else if(cw){this.__Q(cv,cy,name,cs);
}
if(cw){this.__R(cv,cy,name);
if(cy.inheritable&&cx._getChildren){this.__S(cv,name);
}}if(cu){cv.push(r);
}return this.__H(cq,cx,name,cs,cv,ct);
},__I:function(cA,name){if(cA==="setRuntime"||cA==="resetRuntime"){var cB=this.$$store.runtime[name];
}else if(cA==="setThemed"||cA==="resetThemed"){cB=this.$$store.theme[name];
}else if(cA==="init"){cB=this.$$store.init[name];
}else{cB=this.$$store.user[name];
}return cB;
},__J:function(cC,cD,name,cE,cF){{if(!cD.nullable||cD.check||cD.inheritable){cC.push('var prop=qx.core.Property;');
}if(cE==="set"){cC.push('if(value===undefined)prop.error(this,2,"',name,'","',cE,'",value);');
}};
},__K:function(cG,cH,cI,name){if(cI.transform){cG.push('value=this.',cI.transform,'(value);');
}if(cI.validate){if(typeof cI.validate==="string"){cG.push('this.',cI.validate,'(value);');
}else if(cI.validate instanceof Function){cG.push(cH.classname,'.$$properties.',name);
cG.push('.validate.call(this, value);');
}}},__L:function(cJ,cK,cL,cM){var cN=(cM==="reset"||cM==="resetThemed"||cM==="resetRuntime");

if(cK){cJ.push('if(this.',cL,'===value)return value;');
}else if(cN){cJ.push('if(this.',cL,'===undefined)return;');
}},__M:undefined,__N:function(cO,name,cP,cQ){if(cP==="setRuntime"){cO.push('this.',this.$$store.runtime[name],'=value;');
}else if(cP==="resetRuntime"){cO.push('if(this.',this.$$store.runtime[name],'!==undefined)');
cO.push('delete this.',this.$$store.runtime[name],';');
}else if(cP==="set"){cO.push('this.',this.$$store.user[name],'=value;');
}else if(cP==="reset"){cO.push('if(this.',this.$$store.user[name],'!==undefined)');
cO.push('delete this.',this.$$store.user[name],';');
}else if(cP==="setThemed"){cO.push('this.',this.$$store.theme[name],'=value;');
}else if(cP==="resetThemed"){cO.push('if(this.',this.$$store.theme[name],'!==undefined)');
cO.push('delete this.',this.$$store.theme[name],';');
}else if(cP==="init"&&cQ){cO.push('this.',this.$$store.init[name],'=value;');
}},__O:function(cR,cS,name,cT,cU){if(cS.inheritable){cR.push('var computed, old=this.',this.$$store.inherit[name],';');
}else{cR.push('var computed, old;');
}cR.push('if(this.',this.$$store.runtime[name],'!==undefined){');

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

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

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

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

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

if(cT==="setRuntime"){cR.push('computed=this.',this.$$store.runtime[name],'=value;');
}else if(cT==="set"){cR.push('computed=this.',this.$$store.user[name],'=value;');
}else if(cT==="setThemed"){cR.push('computed=this.',this.$$store.theme[name],'=value;');
}else if(cT==="init"){if(cU){cR.push('computed=this.',this.$$store.init[name],'=value;');
}else{cR.push('computed=this.',this.$$store.init[name],';');
}cR.push('this.',this.$$store.useinit[name],'=true;');
}cR.push('}');
}},__P:function(cV,cW,name,cX){cV.push('if(computed===undefined||computed===inherit){');

if(cX==="refresh"){cV.push('computed=value;');
}else{cV.push('var pa=this.getLayoutParent();if(pa)computed=pa.',this.$$store.inherit[name],';');
}cV.push('if((computed===undefined||computed===inherit)&&');
cV.push('this.',this.$$store.init[name],'!==undefined&&');
cV.push('this.',this.$$store.init[name],'!==inherit){');
cV.push('computed=this.',this.$$store.init[name],';');
cV.push('this.',this.$$store.useinit[name],'=true;');
cV.push('}else{');
cV.push('delete this.',this.$$store.useinit[name],';}');
cV.push('}');
cV.push('if(old===computed)return value;');
cV.push('if(computed===inherit){');
cV.push('computed=undefined;delete this.',this.$$store.inherit[name],';');
cV.push('}');
cV.push('else if(computed===undefined)');
cV.push('delete this.',this.$$store.inherit[name],';');
cV.push('else this.',this.$$store.inherit[name],'=computed;');
cV.push('var backup=computed;');
if(cW.init!==undefined&&cX!=="init"){cV.push('if(old===undefined)old=this.',this.$$store.init[name],";");
}else{cV.push('if(old===undefined)old=null;');
}cV.push('if(computed===undefined||computed==inherit)computed=null;');
},__Q:function(cY,da,name,db){if(db!=="set"&&db!=="setRuntime"&&db!=="setThemed"){cY.push('if(computed===undefined)computed=null;');
}cY.push('if(old===computed)return value;');
if(da.init!==undefined&&db!=="init"){cY.push('if(old===undefined)old=this.',this.$$store.init[name],";");
}else{cY.push('if(old===undefined)old=null;');
}},__R:function(dc,dd,name){if(dd.apply){dc.push('this.',dd.apply,'(computed, old, "',name,'");');
}if(dd.event){dc.push("var reg=qx.event.Registration;","if(reg.hasListener(this, '",dd.event,"')){","reg.fireEvent(this, '",dd.event,"', qx.event.type.Data, [computed, old]",")}");
}},__S:function(de,name){de.push('var a=this._getChildren();if(a)for(var i=0,l=a.length;i<l;i++){');
de.push('if(a[i].',this.$$method.refresh[name],')a[i].',this.$$method.refresh[name],'(backup);');
de.push('}');
}},defer:function(df){var dh=navigator.userAgent.indexOf(R)!=-1;
var dg=navigator.userAgent.indexOf(y)!=-1;
if(dh||dg){df.__E=df.__F;
}}});
})();
(function(){var p="qx.aspects",o="on",n=".",m="static",k="[Class ",j="]",h="$$init_",g="constructor",f="member",e=".prototype",b="extend",d="qx.Class",c="qx.event.type.Data";
qx.Bootstrap.define(d,{statics:{define:function(name,q){if(!q){var q={};
}if(q.include&&!(q.include instanceof Array)){q.include=[q.include];
}if(q.implement&&!(q.implement instanceof Array)){q.implement=[q.implement];
}var r=false;

if(!q.hasOwnProperty(b)&&!q.type){q.type=m;
r=true;
}{};
var s=this.__X(name,q.type,q.extend,q.statics,q.construct,q.destruct,q.include);
if(q.extend){if(q.properties){this.__ba(s,q.properties,true);
}if(q.members){this.__bc(s,q.members,true,true,false);
}if(q.events){this.__Y(s,q.events,true);
}if(q.include){for(var i=0,l=q.include.length;i<l;i++){this.__bg(s,q.include[i],false);
}}}if(q.settings){for(var t in q.settings){qx.core.Setting.define(t,q.settings[t]);
}}if(q.variants){for(var t in q.variants){qx.core.Variant.define(t,q.variants[t].allowedValues,q.variants[t].defaultValue);
}}if(q.implement){for(var i=0,l=q.implement.length;i<l;i++){this.__be(s,q.implement[i]);
}}{};
if(q.defer){q.defer.self=s;
q.defer(s,s.prototype,{add:function(name,u){var v={};
v[name]=u;
qx.Class.__ba(s,v,true);
}});
}return s;
},undefine:function(name){delete this.$$registry[name];
var w=name.split(n);
var y=[window];

for(var i=0;i<w.length;i++){y.push(y[i][w[i]]);
}for(var i=y.length-1;i>=1;i--){var x=y[i];
var parent=y[i-1];

if(qx.Bootstrap.isFunction(x)||qx.Bootstrap.objectGetLength(x)===0){delete parent[w[i-1]];
}else{break;
}}},isDefined:qx.Bootstrap.classIsDefined,getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);
},getByName:qx.Bootstrap.getByName,include:function(z,A){{};
qx.Class.__bg(z,A,false);
},patch:function(B,C){{};
qx.Class.__bg(B,C,true);
},isSubClassOf:function(D,E){if(!D){return false;
}
if(D==E){return true;
}
if(D.prototype instanceof E){return true;
}return false;
},getPropertyDefinition:qx.Bootstrap.getPropertyDefinition,getProperties:function(F){var G=[];

while(F){if(F.$$properties){G.push.apply(G,qx.Bootstrap.getKeys(F.$$properties));
}F=F.superclass;
}return G;
},getByProperty:function(H,name){while(H){if(H.$$properties&&H.$$properties[name]){return H;
}H=H.superclass;
}return null;
},hasProperty:qx.Bootstrap.hasProperty,getEventType:qx.Bootstrap.getEventType,supportsEvent:qx.Bootstrap.supportsEvent,hasOwnMixin:function(I,J){return I.$$includes&&I.$$includes.indexOf(J)!==-1;
},getByMixin:function(K,L){var M,i,l;

while(K){if(K.$$includes){M=K.$$flatIncludes;

for(i=0,l=M.length;i<l;i++){if(M[i]===L){return K;
}}}K=K.superclass;
}return null;
},getMixins:qx.Bootstrap.getMixins,hasMixin:function(N,O){return !!this.getByMixin(N,O);
},hasOwnInterface:function(P,Q){return P.$$implements&&P.$$implements.indexOf(Q)!==-1;
},getByInterface:qx.Bootstrap.getByInterface,getInterfaces:function(R){var S=[];

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

if(this.hasInterface(V,U)){return true;
}
try{qx.Interface.assertObject(T,U);
return true;
}catch(W){}
try{qx.Interface.assert(V,U,false);
return true;
}catch(X){}return false;
},getInstance:function(){if(!this.$$instance){this.$$allowconstruct=true;
this.$$instance=new this;
delete this.$$allowconstruct;
}return this.$$instance;
},genericToString:function(){return k+this.classname+j;
},$$registry:qx.Bootstrap.$$registry,__T:null,__U:null,__V:function(){},__W:function(){},__X:function(name,Y,ba,bb,bc,bd,be){var bh;

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

if(ba){if(!bc){bc=this.__bh();
}
if(this.__bj(ba,be)){bh=this.__bk(bc,name,Y);
}else{bh=bc;
}if(Y==="singleton"){bh.getInstance=this.getInstance;
}qx.Bootstrap.setDisplayName(bc,name,"constructor");
}if(bb){qx.Bootstrap.setDisplayNames(bb,name);
var bi;

for(var i=0,a=qx.Bootstrap.getKeys(bb),l=a.length;i<l;i++){bi=a[i];
var bf=bb[bi];

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

if(Y){bh.$$classtype=Y;
}if(!bh.hasOwnProperty("toString")){bh.toString=this.genericToString;
}
if(ba){qx.Bootstrap.extendClass(bh,bc,ba,name,bg);
if(bd){if(qx.core.Variant.isSet("qx.aspects","on")){bd=qx.core.Aspect.wrap(name,bd,"destructor");
}bh.$$destructor=bd;
qx.Bootstrap.setDisplayName(bd,name,"destruct");
}}this.$$registry[name]=bh;
return bh;
},__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(bn,bo,bp){var bq;

if(bp===undefined){bp=false;
}var br=bn.prototype;

for(var name in bo){bq=bo[name];
{};
bq.name=name;
if(!bq.refine){if(bn.$$properties===undefined){bn.$$properties={};
}bn.$$properties[name]=bq;
}if(bq.init!==undefined){bn.prototype[h+name]=bq.init;
}if(bq.event!==undefined){var event={};
event[bq.event]=c;
this.__Y(bn,event,bp);
}if(bq.inheritable){qx.core.Property.$$inheritable[name]=true;

if(!br.$$refreshInheritables){qx.core.Property.attachRefreshInheritables(bn);
}}
if(!bq.refine){qx.core.Property.attachMethods(bn,name,bq);
}}},__bb:null,__bc:function(bs,bt,bu,bv,bw){var bx=bs.prototype;
var bz,by;
qx.Bootstrap.setDisplayNames(bt,bs.classname+e);

for(var i=0,a=qx.Bootstrap.getKeys(bt),l=a.length;i<l;i++){bz=a[i];
by=bt[bz];
{};
if(bv!==false&&by instanceof Function&&by.$$type==null){if(bw==true){by=this.__bd(by,bx[bz]);
}else{if(bx[bz]){by.base=bx[bz];
}by.self=bs;
}
if(qx.core.Variant.isSet(p,o)){by=qx.core.Aspect.wrap(bs.classname+n+bz,by,f);
}}bx[bz]=by;
}},__bd:function(bA,bB){if(bB){return function(){var bD=bA.base;
bA.base=bB;
var bC=bA.apply(this,arguments);
bA.base=bD;
return bC;
};
}else{return bA;
}},__be:function(bE,bF){{};
var bG=qx.Interface.flatten([bF]);

if(bE.$$implements){bE.$$implements.push(bF);
bE.$$flatImplements.push.apply(bE.$$flatImplements,bG);
}else{bE.$$implements=[bF];
bE.$$flatImplements=bG;
}},__bf:function(bH){var name=bH.classname;
var bI=this.__bk(bH,name,bH.$$classtype);
for(var i=0,a=qx.Bootstrap.getKeys(bH),l=a.length;i<l;i++){bJ=a[i];
bI[bJ]=bH[bJ];
}bI.prototype=bH.prototype;
var bL=bH.prototype;

for(var i=0,a=qx.Bootstrap.getKeys(bL),l=a.length;i<l;i++){bJ=a[i];
var bM=bL[bJ];
if(bM&&bM.self==bH){bM.self=bI;
}}for(var bJ in this.$$registry){var bK=this.$$registry[bJ];

if(!bK){continue;
}
if(bK.base==bH){bK.base=bI;
}
if(bK.superclass==bH){bK.superclass=bI;
}
if(bK.$$original){if(bK.$$original.base==bH){bK.$$original.base=bI;
}
if(bK.$$original.superclass==bH){bK.$$original.superclass=bI;
}}}qx.Bootstrap.createNamespace(name,bI);
this.$$registry[name]=bI;
return bI;
},__bg:function(bN,bO,bP){{};

if(this.hasMixin(bN,bO)){return;
}var bS=bN.$$original;

if(bO.$$constructor&&!bS){bN=this.__bf(bN);
}var bR=qx.Mixin.flatten([bO]);
var bQ;

for(var i=0,l=bR.length;i<l;i++){bQ=bR[i];
if(bQ.$$events){this.__Y(bN,bQ.$$events,bP);
}if(bQ.$$properties){this.__ba(bN,bQ.$$properties,bP);
}if(bQ.$$members){this.__bc(bN,bQ.$$members,bP,bP,bP);
}}if(bN.$$includes){bN.$$includes.push(bO);
bN.$$flatIncludes.push.apply(bN.$$flatIncludes,bR);
}else{bN.$$includes=[bO];
bN.$$flatIncludes=bR;
}},__bh:function(){function bT(){bT.base.apply(this,arguments);
}return bT;
},__bi:function(){return function(){};
},__bj:function(bU,bV){{};
if(bU&&bU.$$includes){var bW=bU.$$flatIncludes;

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

for(var i=0,l=bX.length;i<l;i++){if(bX[i].$$constructor){return true;
}}}return false;
},__bk:function(bY,name,ca){var cc=function(){var cf=cc;
{};
var ce=cf.$$original.apply(this,arguments);
if(cf.$$includes){var cd=cf.$$flatIncludes;

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

if(qx.core.Variant.isSet(p,o)){var cb=qx.core.Aspect.wrap(name,cc,g);
cc.$$original=bY;
cc.constructor=cb;
cc=cb;
}cc.$$original=bY;
bY.wrapper=cc;
return cc;
}},defer:function(){if(qx.core.Variant.isSet(p,o)){for(var cg in qx.Bootstrap.$$registry){var ch=qx.Bootstrap.$$registry[cg];

for(var ci in ch){if(ch[ci] instanceof Function){ch[ci]=qx.core.Aspect.wrap(cg+n+ci,ch[ci],m);
}}}}}});
})();
(function(){var a="qx.lang.RingBuffer";
qx.Class.define(a,{extend:Object,construct:function(b){this.setMaxEntries(b||50);
},members:{__bl:0,__bm:0,__bn:false,__bo:0,__bp:null,__bq:null,setMaxEntries:function(c){this.__bq=c;
this.clear();
},getMaxEntries:function(){return this.__bq;
},addEntry:function(d){this.__bp[this.__bl]=d;
this.__bl=this.__br(this.__bl,1);
var e=this.getMaxEntries();

if(this.__bm<e){this.__bm++;
}if(this.__bn&&(this.__bo<e)){this.__bo++;
}},mark:function(){this.__bn=true;
this.__bo=0;
},clearMark:function(){this.__bn=false;
},getAllEntries:function(){return this.getEntries(this.getMaxEntries(),false);
},getEntries:function(f,g){if(f>this.__bm){f=this.__bm;
}if(g&&this.__bn&&(f>this.__bo)){f=this.__bo;
}
if(f>0){var i=this.__br(this.__bl,-1);
var h=this.__br(i,-f+1);
var j;

if(h<=i){j=this.__bp.slice(h,i+1);
}else{j=this.__bp.slice(h,this.__bm).concat(this.__bp.slice(0,i+1));
}}else{j=[];
}return j;
},clear:function(){this.__bp=new Array(this.getMaxEntries());
this.__bm=0;
this.__bo=0;
this.__bl=0;
},__br:function(k,l){var m=this.getMaxEntries();
var n=(k+l)%m;
if(n<0){n+=m;
}return n;
}}});
})();
(function(){var a="qx.log.appender.RingBuffer";
qx.Class.define(a,{extend:qx.lang.RingBuffer,construct:function(b){this.setMaxMessages(b||50);
},members:{setMaxMessages:function(c){this.setMaxEntries(c);
},getMaxMessages:function(){return this.getMaxEntries();
},process:function(d){this.addEntry(d);
},getAllLogEvents:function(){return this.getAllEntries();
},retrieveLogEvents:function(e,f){return this.getEntries(e,f);
},clearHistory:function(){this.clear();
}}});
})();
(function(){var g="mshtml",f="qx.client",e="[object Array]",d="qx.lang.Array",c="qx",b="number",a="string";
qx.Class.define(d,{statics:{toArray:function(h,j){return this.cast(h,Array,j);
},cast:function(k,m,n){if(k.constructor===m){return k;
}
if(qx.Class.hasInterface(k,qx.data.IListData)){var k=k.toArray();
}var o=new m;
if(qx.core.Variant.isSet(f,g)){if(k.item){for(var i=n||0,l=k.length;i<l;i++){o.push(k[i]);
}return o;
}}if(Object.prototype.toString.call(k)===e&&n==null){o.push.apply(o,k);
}else{o.push.apply(o,Array.prototype.slice.call(k,n||0));
}return o;
},fromArguments:function(p,q){return Array.prototype.slice.call(p,q||0);
},fromCollection:function(r){if(qx.core.Variant.isSet(f,g)){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(t){var v=t.length;
var u=qx.lang.Array.clone(t);
switch(v){case 1:u[1]=u[2]=u[3]=u[0];
break;
case 2:u[2]=u[0];
case 3:u[3]=u[1];
}return u;
},clone:function(w){return w.concat();
},insertAt:function(x,y,i){x.splice(i,0,y);
return x;
},insertBefore:function(z,A,B){var i=z.indexOf(B);

if(i==-1){z.push(A);
}else{z.splice(i,0,A);
}return z;
},insertAfter:function(C,D,E){var i=C.indexOf(E);

if(i==-1||i==(C.length-1)){C.push(D);
}else{C.splice(i+1,0,D);
}return C;
},removeAt:function(F,i){return F.splice(i,1)[0];
},removeAll:function(G){G.length=0;
return this;
},append:function(H,I){{};
Array.prototype.push.apply(H,I);
return H;
},exclude:function(J,K){{};

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

if(L!=-1){J.splice(L,1);
}}return J;
},remove:function(N,O){var i=N.indexOf(O);

if(i!=-1){N.splice(i,1);
return O;
}},contains:function(P,Q){return P.indexOf(Q)!==-1;
},equals:function(R,S){var length=R.length;

if(length!==S.length){return false;
}
for(var i=0;i<length;i++){if(R[i]!==S[i]){return false;
}}return true;
},sum:function(T){var U=0;

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

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

for(i=1;i<bb;i++){if(Y[i]<ba){ba=Y[i];
}}return ba===undefined?null:ba;
},unique:function(bc){var bm=[],be={},bh={},bj={};
var bi,bd=0;
var bn=c+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===a){if(!be[bi]){be[bi]=1;
bm.push(bi);
}}else if(typeof bi===b){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(bp){try{bj[bg][bn]=null;
}catch(bq){throw new Error("Cannot clean-up map entry doneObjects["+bg+"]["+bn+"]");
}}}return bm;
}}});
})();
(function(){var f="()",e=".",d=".prototype.",c='anonymous()',b="qx.lang.Function",a=".constructor()";
qx.Class.define(b,{statics:{getCaller:function(g){return g.caller?g.caller.callee:g.callee.caller;
},getName:function(h){if(h.displayName){return h.displayName;
}
if(h.$$original||h.wrapper||h.classname){return h.classname+a;
}
if(h.$$mixin){for(var j in h.$$mixin.$$members){if(h.$$mixin.$$members[j]==h){return h.$$mixin.name+d+j+f;
}}for(var j in h.$$mixin){if(h.$$mixin[j]==h){return h.$$mixin.name+e+j+f;
}}}
if(h.self){var k=h.self.constructor;

if(k){for(var j in k.prototype){if(k.prototype[j]==h){return k.classname+d+j+f;
}}for(var j in k){if(k[j]==h){return k.classname+e+j+f;
}}}}var i=h.toString().match(/function\s*(\w*)\s*\(.*/);

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

if(n.delay){return window.setTimeout(o,n.delay);
}
if(n.periodical){return window.setInterval(o,n.periodical);
}}else if(n.attempt){var q=false;

try{q=m.apply(n.self||this,p);
}catch(r){}return q;
}else{return m.apply(n.self||this,p);
}};
},bind:function(s,self,t){return this.create(s,{self:self,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null});
},curry:function(u,v){return this.create(u,{args:arguments.length>1?qx.lang.Array.fromArguments(arguments,1):null});
},listener:function(w,self,x){if(arguments.length<3){return function(event){return w.call(self||this,event||window.event);
};
}else{var y=qx.lang.Array.fromArguments(arguments,2);
return function(event){var z=[event||window.event];
z.push.apply(z,y);
w.apply(self||this,z);
};
}},attempt:function(A,self,B){return this.create(A,{self:self,attempt:true,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null})();
},delay:function(C,D,self,E){return this.create(C,{delay:D,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();
},periodical:function(F,G,self,H){return this.create(F,{periodical:G,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();
}}});
})();
(function(){var m=":",l="qx.client",k="Error created at",j="anonymous",h="...",g="qx.dev.StackTrace",f="",e="\n",d="?",c="/source/class/",a="of linked script",b=".";
qx.Class.define(g,{statics:{getStackTrace:qx.core.Variant.select(l,{"gecko":function(){try{throw new Error();
}catch(A){var u=this.getStackTraceFromError(A);
qx.lang.Array.removeAt(u,0);
var s=this.getStackTraceFromCaller(arguments);
var q=s.length>u.length?s:u;

for(var i=0;i<Math.min(s.length,u.length);i++){var r=s[i];

if(r.indexOf(j)>=0){continue;
}var y=r.split(m);

if(y.length!=2){continue;
}var w=y[0];
var p=y[1];
var o=u[i];
var z=o.split(m);
var v=z[0];
var n=z[1];

if(qx.Class.getByName(v)){var t=v;
}else{t=w;
}var x=t+m;

if(p){x+=p+m;
}x+=n;
q[i]=x;
}return q;
}},"mshtml|webkit":function(){return this.getStackTraceFromCaller(arguments);
},"opera":function(){var B;

try{B.bar();
}catch(D){var C=this.getStackTraceFromError(D);
qx.lang.Array.removeAt(C,0);
return C;
}return [];
}}),getStackTraceFromCaller:qx.core.Variant.select(l,{"opera":function(E){return [];
},"default":function(F){var K=[];
var J=qx.lang.Function.getCaller(F);
var G={};

while(J){var H=qx.lang.Function.getName(J);
K.push(H);

try{J=J.caller;
}catch(L){break;
}
if(!J){break;
}var I=qx.core.ObjectRegistry.toHashCode(J);

if(G[I]){K.push(h);
break;
}G[I]=J;
}return K;
}}),getStackTraceFromError:qx.core.Variant.select(l,{"gecko":function(M){if(!M.stack){return [];
}var S=/@(.+):(\d+)$/gm;
var N;
var O=[];

while((N=S.exec(M.stack))!=null){var P=N[1];
var R=N[2];
var Q=this.__bs(P);
O.push(Q+m+R);
}return O;
},"webkit":function(T){if(T.stack){var bb=/at (.*)/gm;
var ba=/\((.*?)(:[^\/].*)\)/;
var X=/(.*?)(:[^\/].*)/;
var U;
var V=[];

while((U=bb.exec(T.stack))!=null){var W=ba.exec(U[1]);

if(!W){W=X.exec(U[1]);
}
if(W){var Y=this.__bs(W[1]);
V.push(Y+W[2]);
}else{V.push(U[1]);
}}return V;
}else if(T.sourceURL&&T.line){return [this.__bs(T.sourceURL)+m+T.line];
}else{return [];
}},"opera":function(bc){if(bc.stacktrace){var be=bc.stacktrace;

if(be.indexOf(k)>=0){be=be.split(k)[0];
}if(be.indexOf(a)>=0){var bo=/Line\ (\d+?)\ of\ linked\ script\ (.*?)$/gm;
var bf;
var bg=[];

while((bf=bo.exec(be))!=null){var bn=bf[1];
var bi=bf[2];
var bm=this.__bs(bi);
bg.push(bm+m+bn);
}}else{var bo=/line\ (\d+?),\ column\ (\d+?)\ in\ (?:.*?)\ in\ (.*?):[^\/]/gm;
var bf;
var bg=[];

while((bf=bo.exec(be))!=null){var bn=bf[1];
var bh=bf[2];
var bi=bf[3];
var bm=this.__bs(bi);
bg.push(bm+m+bn+m+bh);
}}return bg;
}else if(bc.message.indexOf("Backtrace:")>=0){var bg=[];
var bj=qx.lang.String.trim(bc.message.split("Backtrace:")[1]);
var bk=bj.split(e);

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

if(bd&&bd.length>=2){var bn=bd[1];
var bl=this.__bs(bd[2]);
bg.push(bl+m+bn);
}}return bg;
}else{return [];
}},"default":function(){return [];
}}),__bs:function(bp){var bt=c;
var bq=bp.indexOf(bt);
var bs=bp.indexOf(d);

if(bs>=0){bp=bp.substring(0,bs);
}var br=(bq==-1)?bp:bp.substring(bq+bt.length).replace(/\//g,b).replace(/\.js$/,f);
return br;
}}});
})();
(function(){var k="",j="g",h="0",g='\\$1',f="%",e='-',d="qx.lang.String",c=' ',b='\n',a="undefined";
qx.Class.define(d,{statics:{camelCase:function(l){return l.replace(/\-([a-z])/g,function(m,n){return n.toUpperCase();
});
},hyphenate:function(o){return o.replace(/[A-Z]/g,function(p){return (e+p.charAt(0).toLowerCase());
});
},capitalize:function(q){return q.replace(/\b[a-z]/g,function(r){return r.toUpperCase();
});
},clean:function(s){return this.trim(s.replace(/\s+/g,c));
},trimLeft:function(t){return t.replace(/^\s+/,k);
},trimRight:function(u){return u.replace(/\s+$/,k);
},trim:function(v){return v.replace(/^\s+|\s+$/g,k);
},startsWith:function(w,x){return w.indexOf(x)===0;
},endsWith:function(y,z){return y.substring(y.length-z.length,y.length)===z;
},repeat:function(A,B){return A.length>0?new Array(B+1).join(A):k;
},pad:function(C,length,D){var E=length-C.length;

if(E>0){if(typeof D===a){D=h;
}return this.repeat(D,E)+C;
}else{return C;
}},firstUp:qx.Bootstrap.firstUp,firstLow:qx.Bootstrap.firstLow,contains:function(F,G){return F.indexOf(G)!=-1;
},format:function(H,I){var J=H;

for(var i=0;i<I.length;i++){J=J.replace(new RegExp(f+(i+1),j),I[i]+k);
}return J;
},escapeRegexpChars:function(K){return K.replace(/([.*+?^${}()|[\]\/\\])/g,g);
},toArray:function(L){return L.split(/\B|\b/g);
},stripTags:function(M){return M.replace(/<\/?[^>]+>/gi,k);
},stripScripts:function(N,O){var Q=k;
var P=N.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){Q+=arguments[1]+b;
return k;
});

if(O===true){qx.lang.Function.globalEval(Q);
}return P;
}}});
})();
(function(){var k="node",j="error",h="...(+",g="array",f=")",e="info",d="instance",c="string",b="null",a="class",H="number",G="stringify",F="]",E="date",D="unknown",C="function",B="boolean",A="debug",z="map",y="undefined",s="qx.log.Logger",t="[",q="#",r="warn",o="document",p="{...(",m="text[",n="[...(",u="\n",v=")}",x=")]",w="object";
qx.Class.define(s,{statics:{__bt:A,setLevel:function(I){this.__bt=I;
},getLevel:function(){return this.__bt;
},setTreshold:function(J){this.__bw.setMaxMessages(J);
},getTreshold:function(){return this.__bw.getMaxMessages();
},__bu:{},__bv:0,register:function(K){if(K.$$id){return;
}var M=this.__bv++;
this.__bu[M]=K;
K.$$id=M;
var L=this.__bx;
var N=this.__bw.getAllLogEvents();

for(var i=0,l=N.length;i<l;i++){if(L[N[i].level]>=L[this.__bt]){K.process(N[i]);
}}},unregister:function(O){var P=O.$$id;

if(P==null){return;
}delete this.__bu[P];
delete O.$$id;
},debug:function(Q,R){qx.log.Logger.__by(A,arguments);
},info:function(S,T){qx.log.Logger.__by(e,arguments);
},warn:function(U,V){qx.log.Logger.__by(r,arguments);
},error:function(W,X){qx.log.Logger.__by(j,arguments);
},trace:function(Y){qx.log.Logger.__by(e,[Y,qx.dev.StackTrace.getStackTrace().join(u)]);
},deprecatedMethodWarning:function(ba,bb){var bc;
{};
},deprecatedClassWarning:function(bd,be){var bf;
{};
},deprecatedEventWarning:function(bg,event,bh){var bi;
{};
},deprecatedMixinWarning:function(bj,bk){var bl;
{};
},deprecatedConstantWarning:function(bm,bn,bo){var self,bp;
{};
},deprecateMethodOverriding:function(bq,br,bs,bt){var bu;
{};
},clear:function(){this.__bw.clearHistory();
},__bw:new qx.log.appender.RingBuffer(50),__bx:{debug:0,info:1,warn:2,error:3},__by:function(bv,bw){var bB=this.__bx;

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

for(var i=bA,l=bw.length;i<l;i++){bx.push(this.__bA(bw[i],true));
}var bC=new Date;
var bD={time:bC,offset:bC-qx.Bootstrap.LOADSTART,level:bv,items:bx,win:window};
if(by){if(by.$$hash!==undefined){bD.object=by.$$hash;
}else if(by.$$type){bD.clazz=by;
}}this.__bw.process(bD);
var bE=this.__bu;

for(var bz in bE){bE[bz].process(bD);
}},__bz:function(bF){if(bF===undefined){return y;
}else if(bF===null){return b;
}
if(bF.$$type){return a;
}var bG=typeof bF;

if(bG===C||bG==c||bG===H||bG===B){return bG;
}else if(bG===w){if(bF.nodeType){return k;
}else if(bF.classname){return d;
}else if(bF instanceof Array){return g;
}else if(bF instanceof Error){return j;
}else if(bF instanceof Date){return E;
}else{return z;
}}
if(bF.toString){return G;
}return D;
},__bA:function(bH,bI){var bP=this.__bz(bH);
var bL=D;
var bK=[];

switch(bP){case b:case y:bL=bP;
break;
case c:case H:case B:case E:bL=bH;
break;
case k:if(bH.nodeType===9){bL=o;
}else if(bH.nodeType===3){bL=m+bH.nodeValue+F;
}else if(bH.nodeType===1){bL=bH.nodeName.toLowerCase();

if(bH.id){bL+=q+bH.id;
}}else{bL=k;
}break;
case C:bL=qx.lang.Function.getName(bH)||bP;
break;
case d:bL=bH.basename+t+bH.$$hash+F;
break;
case a:case G:bL=bH.toString();
break;
case j:bK=qx.dev.StackTrace.getStackTraceFromError(bH);
bL=bH.toString();
break;
case g:if(bI){bL=[];

for(var i=0,l=bH.length;i<l;i++){if(bL.length>20){bL.push(h+(l-i)+f);
break;
}bL.push(this.__bA(bH[i],false));
}}else{bL=n+bH.length+x;
}break;
case z:if(bI){var bJ;
var bO=[];

for(var bN in bH){bO.push(bN);
}bO.sort();
bL=[];

for(var i=0,l=bO.length;i<l;i++){if(bL.length>20){bL.push(h+(l-i)+f);
break;
}bN=bO[i];
bJ=this.__bA(bH[bN],false);
bJ.key=bN;
bL.push(bJ);
}}else{var bM=0;

for(var bN in bH){bM++;
}bL=p+bM+v;
}break;
}return {type:bP,text:bL,trace:bK};
}},defer:function(bQ){var bR=qx.Bootstrap.$$logs;

for(var i=0;i<bR.length;i++){bQ.__by(bR[i][0],bR[i][1]);
}qx.Bootstrap.debug=bQ.debug;
qx.Bootstrap.info=bQ.info;
qx.Bootstrap.warn=bQ.warn;
qx.Bootstrap.error=bQ.error;
qx.Bootstrap.trace=bQ.trace;
}});
})();
(function(){var e="$$hash",d="",c="qx.core.ObjectRegistry";
qx.Class.define(c,{statics:{inShutDown:false,__bB:{},__bC:0,__bD:[],register:function(f){var j=this.__bB;

if(!j){return;
}var h=f.$$hash;

if(h==null){var g=this.__bD;

if(g.length>0){h=g.pop();
}else{h=(this.__bC++)+d;
}f.$$hash=h;
}{};
j[h]=f;
},unregister:function(k){var m=k.$$hash;

if(m==null){return;
}var n=this.__bB;

if(n&&n[m]){delete n[m];
this.__bD.push(m);
}try{delete k.$$hash;
}catch(o){if(k.removeAttribute){k.removeAttribute(e);
}}},toHashCode:function(p){{};
var r=p.$$hash;

if(r!=null){return r;
}var q=this.__bD;

if(q.length>0){r=q.pop();
}else{r=(this.__bC++)+d;
}return p.$$hash=r;
},clearHashCode:function(s){{};
var t=s.$$hash;

if(t!=null){this.__bD.push(t);
try{delete s.$$hash;
}catch(u){if(s.removeAttribute){s.removeAttribute(e);
}}}},fromHashCode:function(v){return this.__bB[v]||null;
},shutdown:function(){this.inShutDown=true;
var x=this.__bB;
var z=[];

for(var y in x){z.push(y);
}z.sort(function(a,b){return parseInt(b,10)-parseInt(a,10);
});
var w,i=0,l=z.length;

while(true){try{for(;i<l;i++){y=z[i];
w=x[y];

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

if(i!==l){i++;
continue;
}}break;
}qx.Bootstrap.debug(this,"Disposed "+l+" objects");
delete this.__bB;
},getRegistry:function(){return this.__bB;
}}});
})();
(function(){var j="on",i="qx.client",h="gecko",g="function",f="HTMLEvents",d="mousedown",c="qx.bom.Event",b="return;",a="mouseover";
qx.Class.define(c,{statics:{addNativeListener:function(k,l,m,n){if(k.addEventListener){k.addEventListener(l,m,!!n);
}else if(k.attachEvent){k.attachEvent(j+l,m);
}},removeNativeListener:function(o,p,q,r){if(o.removeEventListener){o.removeEventListener(p,q,!!r);
}else if(o.detachEvent){try{o.detachEvent(j+p,q);
}catch(e){if(e.number!==-2146828218){throw e;
}}}},getTarget:function(e){return e.target||e.srcElement;
},getRelatedTarget:function(e){if(e.relatedTarget!==undefined){if(qx.core.Variant.isSet(i,h)){try{e.relatedTarget&&e.relatedTarget.nodeType;
}catch(e){return null;
}}return e.relatedTarget;
}else if(e.fromElement!==undefined&&e.type===a){return e.fromElement;
}else if(e.toElement!==undefined){return e.toElement;
}else{return null;
}},preventDefault:function(e){if(e.preventDefault){if(qx.core.Variant.isSet(i,h)&&qx.bom.client.Engine.VERSION>=1.9&&e.type==d&&e.button==2){return;
}e.preventDefault();
if(qx.core.Variant.isSet(i,h)&&qx.bom.client.Engine.VERSION<1.9){try{e.keyCode=0;
}catch(s){}}}else{try{e.keyCode=0;
}catch(t){}e.returnValue=false;
}},stopPropagation:function(e){if(e.stopPropagation){e.stopPropagation();
}else{e.cancelBubble=true;
}},fire:function(u,v){if(document.createEvent){var w=document.createEvent(f);
w.initEvent(v,true,true);
return !u.dispatchEvent(w);
}else{var w=document.createEventObject();
return u.fireEvent(j+v,w);
}},supportsEvent:qx.core.Variant.select(i,{"webkit":function(x,y){return x.hasOwnProperty(j+y);
},"default":function(z,A){var B=j+A;
var C=(B in z);

if(!C){C=typeof z[B]==g;

if(!C&&z.setAttribute){z.setAttribute(B,b);
C=typeof z[B]==g;
z.removeAttribute(B);
}}return C;
}})}});
})();
(function(){var r="|bubble",q="|capture",p="|",o="",n="_",m="unload",k="UNKNOWN_",j="__bJ",h="c",g="DOM_",c="__bI",f="WIN_",e="QX_",b="qx.event.Manager",a="capture",d="DOCUMENT_";
qx.Class.define(b,{extend:Object,construct:function(s,t){this.__bE=s;
this.__bF=qx.core.ObjectRegistry.toHashCode(s);
this.__bG=t;
if(s.qx!==qx){var self=this;
qx.bom.Event.addNativeListener(s,m,qx.event.GlobalError.observeMethod(function(){qx.bom.Event.removeNativeListener(s,m,arguments.callee);
self.dispose();
}));
}this.__bH={};
this.__bI={};
this.__bJ={};
this.__bK={};
},statics:{__bL:0,getNextUniqueId:function(){return (this.__bL++)+o;
}},members:{__bG:null,__bH:null,__bJ:null,__bM:null,__bI:null,__bK:null,__bE:null,__bF:null,getWindow:function(){return this.__bE;
},getWindowId:function(){return this.__bF;
},getHandler:function(u){var v=this.__bI[u.classname];

if(v){return v;
}return this.__bI[u.classname]=new u(this);
},getDispatcher:function(w){var x=this.__bJ[w.classname];

if(x){return x;
}return this.__bJ[w.classname]=new w(this,this.__bG);
},getListeners:function(y,z,A){var B=y.$$hash||qx.core.ObjectRegistry.toHashCode(y);
var D=this.__bH[B];

if(!D){return null;
}var E=z+(A?q:r);
var C=D[E];
return C?C.concat():null;
},serializeListeners:function(F){var M=F.$$hash||qx.core.ObjectRegistry.toHashCode(F);
var O=this.__bH[M];
var K=[];

if(O){var I,N,G,J,L;

for(var H in O){I=H.indexOf(p);
N=H.substring(0,I);
G=H.charAt(I+1)==h;
J=O[H];

for(var i=0,l=J.length;i<l;i++){L=J[i];
K.push({self:L.context,handler:L.handler,type:N,capture:G});
}}}return K;
},toggleAttachedEvents:function(P,Q){var V=P.$$hash||qx.core.ObjectRegistry.toHashCode(P);
var X=this.__bH[V];

if(X){var S,W,R,T;

for(var U in X){S=U.indexOf(p);
W=U.substring(0,S);
R=U.charCodeAt(S+1)===99;
T=X[U];

if(Q){this.__bN(P,W,R);
}else{this.__bO(P,W,R);
}}}},hasListener:function(Y,ba,bb){{};
var bc=Y.$$hash||qx.core.ObjectRegistry.toHashCode(Y);
var be=this.__bH[bc];

if(!be){return false;
}var bf=ba+(bb?q:r);
var bd=be[bf];
return bd&&bd.length>0;
},importListeners:function(bg,bh){{};
var bn=bg.$$hash||qx.core.ObjectRegistry.toHashCode(bg);
var bo=this.__bH[bn]={};
var bk=qx.event.Manager;

for(var bi in bh){var bl=bh[bi];
var bm=bl.type+(bl.capture?q:r);
var bj=bo[bm];

if(!bj){bj=bo[bm]=[];
this.__bN(bg,bl.type,bl.capture);
}bj.push({handler:bl.listener,context:bl.self,unique:bl.unique||(bk.__bL++)+o});
}},addListener:function(bp,bq,br,self,bs){var bw;
{};
var bx=bp.$$hash||qx.core.ObjectRegistry.toHashCode(bp);
var bz=this.__bH[bx];

if(!bz){bz=this.__bH[bx]={};
}var bv=bq+(bs?q:r);
var bu=bz[bv];

if(!bu){bu=bz[bv]=[];
}if(bu.length===0){this.__bN(bp,bq,bs);
}var by=(qx.event.Manager.__bL++)+o;
var bt={handler:br,context:self,unique:by};
bu.push(bt);
return bv+p+by;
},findHandler:function(bA,bB){var bN=false,bF=false,bO=false,bC=false;
var bL;

if(bA.nodeType===1){bN=true;
bL=g+bA.tagName.toLowerCase()+n+bB;
}else if(bA.nodeType===9){bC=true;
bL=d+bB;
}else if(bA==this.__bE){bF=true;
bL=f+bB;
}else if(bA.classname){bO=true;
bL=e+bA.classname+n+bB;
}else{bL=k+bA+n+bB;
}var bH=this.__bK;

if(bH[bL]){return bH[bL];
}var bK=this.__bG.getHandlers();
var bG=qx.event.IEventHandler;
var bI,bJ,bE,bD;

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

if(bE&&!bE[bB]){continue;
}bD=bI.TARGET_CHECK;

if(bD){var bM=false;

if(bN&&((bD&bG.TARGET_DOMNODE)!=0)){bM=true;
}else if(bF&&((bD&bG.TARGET_WINDOW)!=0)){bM=true;
}else if(bO&&((bD&bG.TARGET_OBJECT)!=0)){bM=true;
}else if(bC&&((bD&bG.TARGET_DOCUMENT)!=0)){bM=true;
}
if(!bM){continue;
}}bJ=this.getHandler(bK[i]);

if(bI.IGNORE_CAN_HANDLE||bJ.canHandleEvent(bA,bB)){bH[bL]=bJ;
return bJ;
}}return null;
},__bN:function(bP,bQ,bR){var bS=this.findHandler(bP,bQ);

if(bS){bS.registerEvent(bP,bQ,bR);
return;
}{};
},removeListener:function(bT,bU,bV,self,bW){var cb;
{};
var cc=bT.$$hash||qx.core.ObjectRegistry.toHashCode(bT);
var cd=this.__bH[cc];

if(!cd){return false;
}var bX=bU+(bW?q:r);
var bY=cd[bX];

if(!bY){return false;
}var ca;

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

if(ca.handler===bV&&ca.context===self){qx.lang.Array.removeAt(bY,i);

if(bY.length==0){this.__bO(bT,bU,bW);
}return true;
}}return false;
},removeListenerById:function(ce,cf){var cl;
{};
var cj=cf.split(p);
var co=cj[0];
var cg=cj[1].charCodeAt(0)==99;
var cn=cj[2];
var cm=ce.$$hash||qx.core.ObjectRegistry.toHashCode(ce);
var cp=this.__bH[cm];

if(!cp){return false;
}var ck=co+(cg?q:r);
var ci=cp[ck];

if(!ci){return false;
}var ch;

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

if(ch.unique===cn){qx.lang.Array.removeAt(ci,i);

if(ci.length==0){this.__bO(ce,co,cg);
}return true;
}}return false;
},removeAllListeners:function(cq){var cu=cq.$$hash||qx.core.ObjectRegistry.toHashCode(cq);
var cw=this.__bH[cu];

if(!cw){return false;
}var cs,cv,cr;

for(var ct in cw){if(cw[ct].length>0){cs=ct.split(p);
cv=cs[0];
cr=cs[1]===a;
this.__bO(cq,cv,cr);
}}delete this.__bH[cu];
return true;
},deleteAllListeners:function(cx){delete this.__bH[cx];
},__bO:function(cy,cz,cA){var cB=this.findHandler(cy,cz);

if(cB){cB.unregisterEvent(cy,cz,cA);
return;
}{};
},dispatchEvent:function(cC,event){var cH;
{};
var cI=event.getType();

if(!event.getBubbles()&&!this.hasListener(cC,cI)){qx.event.Pool.getInstance().poolObject(event);
return true;
}
if(!event.getTarget()){event.setTarget(cC);
}var cG=this.__bG.getDispatchers();
var cF;
var cE=false;

for(var i=0,l=cG.length;i<l;i++){cF=this.getDispatcher(cG[i]);
if(cF.canDispatchEvent(cC,event,cI)){cF.dispatchEvent(cC,event,cI);
cE=true;
break;
}}
if(!cE){{};
return true;
}var cD=event.getDefaultPrevented();
qx.event.Pool.getInstance().poolObject(event);
return !cD;
},dispose:function(){this.__bG.removeManager(this);
qx.util.DisposeUtil.disposeMap(this,c);
qx.util.DisposeUtil.disposeMap(this,j);
this.__bH=this.__bE=this.__bM=null;
this.__bG=this.__bK=null;
}}});
})();
(function(){var d="qx.dom.Node",c="qx.client",b="";
qx.Class.define(d,{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(c,{"mshtml":function(f){if(f.nodeType==null){return f;
}if(f.nodeType!==this.DOCUMENT){f=f.ownerDocument;
}return f.parentWindow;
},"default":function(g){if(g.nodeType==null){return g;
}if(g.nodeType!==this.DOCUMENT){g=g.ownerDocument;
}return g.defaultView;
}}),getDocumentElement:function(h){return this.getDocument(h).documentElement;
},getBodyElement:function(j){return this.getDocument(j).body;
},isNode:function(k){return !!(k&&k.nodeType!=null);
},isElement:function(l){return !!(l&&l.nodeType===this.ELEMENT);
},isDocument:function(m){return !!(m&&m.nodeType===this.DOCUMENT);
},isText:function(n){return !!(n&&n.nodeType===this.TEXT);
},isWindow:function(o){return !!(o&&o.history&&o.location&&o.document);
},isNodeName:function(p,q){if(!q||!p||!p.nodeName){return false;
}return q.toLowerCase()==qx.dom.Node.getName(p);
},getName:function(r){if(!r||!r.nodeName){return null;
}return r.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(b);
case 2:return s.nodeValue;
break;
case 3:return s.nodeValue;
break;
}return null;
},isBlockNode:function(u){if(!qx.dom.Node.isElement(u)){return false;
}u=qx.dom.Node.getName(u);
return /^(body|form|textarea|fieldset|ul|ol|dl|dt|dd|li|div|hr|p|h[1-6]|quote|pre|table|thead|tbody|tfoot|tr|td|th|iframe|address|blockquote)$/.test(u);
}}});
})();
(function(){var c="qx.event.Registration";
qx.Class.define(c,{statics:{__bP:{},getManager:function(d){if(d==null){{};
d=window;
}else if(d.nodeType){d=qx.dom.Node.getWindow(d);
}else if(!qx.dom.Node.isWindow(d)){d=window;
}var f=d.$$hash||qx.core.ObjectRegistry.toHashCode(d);
var e=this.__bP[f];

if(!e){e=new qx.event.Manager(d,this);
this.__bP[f]=e;
}return e;
},removeManager:function(g){var h=g.getWindowId();
delete this.__bP[h];
},addListener:function(i,j,k,self,l){return this.getManager(i).addListener(i,j,k,self,l);
},removeListener:function(m,n,o,self,p){return this.getManager(m).removeListener(m,n,o,self,p);
},removeListenerById:function(q,r){return this.getManager(q).removeListenerById(q,r);
},removeAllListeners:function(s){return this.getManager(s).removeAllListeners(s);
},deleteAllListeners:function(t){var u=t.$$hash;

if(u){this.getManager(t).deleteAllListeners(u);
}},hasListener:function(v,w,x){return this.getManager(v).hasListener(v,w,x);
},serializeListeners:function(y){return this.getManager(y).serializeListeners(y);
},createEvent:function(z,A,B){{};
if(A==null){A=qx.event.type.Event;
}var C=qx.event.Pool.getInstance().getObject(A);
B?C.init.apply(C,B):C.init();
if(z){C.setType(z);
}return C;
},dispatchEvent:function(D,event){return this.getManager(D).dispatchEvent(D,event);
},fireEvent:function(E,F,G,H){var I;
{};
var J=this.createEvent(F,G||null,H);
return this.getManager(E).dispatchEvent(E,J);
},fireNonBubblingEvent:function(K,L,M,N){{};
var O=this.getManager(K);

if(!O.hasListener(K,L,false)){return true;
}var P=this.createEvent(L,M||null,N);
return O.dispatchEvent(K,P);
},PRIORITY_FIRST:-32000,PRIORITY_NORMAL:0,PRIORITY_LAST:32000,__bQ:[],addHandler:function(Q){{};
this.__bQ.push(Q);
this.__bQ.sort(function(a,b){return a.PRIORITY-b.PRIORITY;
});
},getHandlers:function(){return this.__bQ;
},__bR:[],addDispatcher:function(R,S){{};
this.__bR.push(R);
this.__bR.sort(function(a,b){return a.PRIORITY-b.PRIORITY;
});
},getDispatchers:function(){return this.__bR;
}}});
})();
(function(){var f="qx.lang.Type",e="Error",d="RegExp",c="Date",b="Number",a="Boolean";
qx.Class.define(f,{statics:{getClass:qx.Bootstrap.getClass,isString:qx.Bootstrap.isString,isArray:qx.Bootstrap.isArray,isObject:qx.Bootstrap.isObject,isFunction:qx.Bootstrap.isFunction,isRegExp:function(g){return this.getClass(g)==d;
},isNumber:function(h){return (h!==null&&(this.getClass(h)==b||h instanceof Number));
},isBoolean:function(i){return (i!==null&&(this.getClass(i)==a||i instanceof Boolean));
},isDate:function(j){return (j!==null&&(this.getClass(j)==c||j instanceof Date));
},isError:function(k){return (k!==null&&(this.getClass(k)==e||k instanceof Error));
}}});
})();
(function(){var c=": ",b="qx.type.BaseError",a="";
qx.Class.define(b,{extend:Error,construct:function(d,e){Error.call(this,e);
this.__bS=d||a;
this.message=e||qx.type.BaseError.DEFAULTMESSAGE;
},statics:{DEFAULTMESSAGE:"error"},members:{__bS:null,message:null,getComment:function(){return this.__bS;
},toString:function(){return this.__bS+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.__bT=qx.dev.StackTrace.getStackTrace();
},members:{__bT:null,getStackTrace:function(){return this.__bT;
}}});
})();
(function(){var p="",o="!",n="'!",m="'",k="Expected '",j="' (rgb(",h=",",g=")), but found value '",f="Event (",d="Expected value to be the CSS color '",bw="' but found ",bv="The value '",bu=" != ",bt="qx.core.Object",bs="Expected value to be an array but found ",br=") was fired.",bq="Expected value to be an integer >= 0 but found ",bp="' to be not equal with '",bo="' to '",bn="qx.ui.core.Widget",w="Called assertTrue with '",x="Expected value to be a map but found ",u="The function did not raise an exception!",v="Expected value to be undefined but found ",s="Expected value to be a DOM element but found  '",t="Expected value to be a regular expression but found ",q="' to implement the interface '",r="Expected value to be null but found ",E="Invalid argument 'type'",F="Called assert with 'false'",R="Assertion error! ",N="Expected value to be a string but found ",ba="null",U="' but found '",bj="' must must be a key of the map '",bf="The String '",J="Expected value not to be undefined but found ",bm="qx.util.ColorUtil",bl=": ",bk="The raised exception does not have the expected type! ",I=") not fired.",L="qx.core.Assert",M="Expected value to be typeof object but found ",P="' (identical) but found '",S="' must have any of the values defined in the array '",V="Expected value to be a number but found ",bc="Called assertFalse with '",bh="]",y="Expected value to be a qooxdoo object but found ",z="' arguments.",K="Expected value not to be null but found ",Y="Array[",X="' does not match the regular expression '",W="' to be not identical with '",be="' arguments but found '",bd="', which cannot be converted to a CSS color!",T="Expected object '",bb="qx.core.AssertionError",a="Expected value to be a boolean but found ",bg="))!",A="Expected value to be a qooxdoo widget but found ",B="Expected value '%1' to be in the range '%2'..'%3'!",O="Expected value to be typeof '",b="Expected value to be typeof function but found ",c="Expected value to be an integer but found ",H="Called fail().",C="The parameter 're' must be a string or a regular expression.",D="Expected value to be a number >= 0 but found ",G="Expected value to be instanceof '",Q="Wrong number of arguments given. Expected '",bi="object";
qx.Class.define(L,{statics:{__bU:true,__bV:function(bx,by){var bz=p;

for(var i=1,l=arguments.length;i<l;i++){bz=bz+this.__bW(arguments[i]);
}var bB=R+bx+bl+bz;

if(this.__bU){qx.Bootstrap.error(bB);
}
if(qx.Class.isDefined(bb)){var bA=new qx.core.AssertionError(bx,bz);

if(this.__bU){qx.Bootstrap.error("Stack trace: \n"+bA.getStackTrace());
}throw bA;
}else{throw new Error(bB);
}},__bW:function(bC){var bD;

if(bC===null){bD=ba;
}else if(qx.lang.Type.isArray(bC)&&bC.length>10){bD=Y+bC.length+bh;
}else if((bC instanceof Object)&&(bC.toString==null)){bD=qx.lang.Json.stringify(bC,null,2);
}else{try{bD=bC.toString();
}catch(e){bD=p;
}}return bD;
},assert:function(bE,bF){bE==true||this.__bV(bF||p,F);
},fail:function(bG){this.__bV(bG||p,H);
},assertTrue:function(bH,bI){(bH===true)||this.__bV(bI||p,w,bH,m);
},assertFalse:function(bJ,bK){(bJ===false)||this.__bV(bK||p,bc,bJ,m);
},assertEquals:function(bL,bM,bN){bL==bM||this.__bV(bN||p,k,bL,U,bM,n);
},assertNotEquals:function(bO,bP,bQ){bO!=bP||this.__bV(bQ||p,k,bO,bp,bP,n);
},assertIdentical:function(bR,bS,bT){bR===bS||this.__bV(bT||p,k,bR,P,bS,n);
},assertNotIdentical:function(bU,bV,bW){bU!==bV||this.__bV(bW||p,k,bU,W,bV,n);
},assertNotUndefined:function(bX,bY){bX!==undefined||this.__bV(bY||p,J,bX,o);
},assertUndefined:function(ca,cb){ca===undefined||this.__bV(cb||p,v,ca,o);
},assertNotNull:function(cc,cd){cc!==null||this.__bV(cd||p,K,cc,o);
},assertNull:function(ce,cf){ce===null||this.__bV(cf||p,r,ce,o);
},assertJsonEquals:function(cg,ch,ci){this.assertEquals(qx.lang.Json.stringify(cg),qx.lang.Json.stringify(ch),ci);
},assertMatch:function(cj,ck,cl){this.assertString(cj);
this.assert(qx.lang.Type.isRegExp(ck)||qx.lang.Type.isString(ck),C);
cj.search(ck)>=0||this.__bV(cl||p,bf,cj,X,ck.toString(),n);
},assertArgumentsCount:function(cm,cn,co,cp){var cq=cm.length;
(cq>=cn&&cq<=co)||this.__bV(cp||p,Q,cn,bo,co,be,arguments.length,z);
},assertEventFired:function(cr,event,cs,ct,cu){var cw=false;
var cv=function(e){if(ct){ct.call(cr,e);
}cw=true;
};
var cx;

try{cx=cr.addListener(event,cv,cr);
cs.call();
}catch(cy){throw cy;
}finally{try{cr.removeListenerById(cx);
}catch(cz){}}cw===true||this.__bV(cu||p,f,event,I);
},assertEventNotFired:function(cA,event,cB,cC){var cE=false;
var cD=function(e){cE=true;
};
var cF=cA.addListener(event,cD,cA);
cB.call();
cE===false||this.__bV(cC||p,f,event,br);
cA.removeListenerById(cF);
},assertException:function(cG,cH,cI,cJ){var cH=cH||Error;
var cK;

try{this.__bU=false;
cG();
}catch(cL){cK=cL;
}finally{this.__bU=true;
}
if(cK==null){this.__bV(cJ||p,u);
}cK instanceof cH||this.__bV(cJ||p,bk,cH,bu,cK);

if(cI){this.assertMatch(cK.toString(),cI,cJ);
}},assertInArray:function(cM,cN,cO){cN.indexOf(cM)!==-1||this.__bV(cO||p,bv,cM,S,cN,m);
},assertArrayEquals:function(cP,cQ,cR){this.assertArray(cP,cR);
this.assertArray(cQ,cR);
this.assertEquals(cP.length,cQ.length,cR);

for(var i=0;i<cP.length;i++){this.assertIdentical(cP[i],cQ[i],cR);
}},assertKeyInMap:function(cS,cT,cU){cT[cS]!==undefined||this.__bV(cU||p,bv,cS,bj,cT,m);
},assertFunction:function(cV,cW){qx.lang.Type.isFunction(cV)||this.__bV(cW||p,b,cV,o);
},assertString:function(cX,cY){qx.lang.Type.isString(cX)||this.__bV(cY||p,N,cX,o);
},assertBoolean:function(da,db){qx.lang.Type.isBoolean(da)||this.__bV(db||p,a,da,o);
},assertNumber:function(dc,dd){(qx.lang.Type.isNumber(dc)&&isFinite(dc))||this.__bV(dd||p,V,dc,o);
},assertPositiveNumber:function(de,df){(qx.lang.Type.isNumber(de)&&isFinite(de)&&de>=0)||this.__bV(df||p,D,de,o);
},assertInteger:function(dg,dh){(qx.lang.Type.isNumber(dg)&&isFinite(dg)&&dg%1===0)||this.__bV(dh||p,c,dg,o);
},assertPositiveInteger:function(di,dj){var dk=(qx.lang.Type.isNumber(di)&&isFinite(di)&&di%1===0&&di>=0);
dk||this.__bV(dj||p,bq,di,o);
},assertInRange:function(dl,dm,dn,dp){(dl>=dm&&dl<=dn)||this.__bV(dp||p,qx.lang.String.format(B,[dl,dm,dn]));
},assertObject:function(dq,dr){var ds=dq!==null&&(qx.lang.Type.isObject(dq)||typeof dq===bi);
ds||this.__bV(dr||p,M,(dq),o);
},assertArray:function(dt,du){qx.lang.Type.isArray(dt)||this.__bV(du||p,bs,dt,o);
},assertMap:function(dv,dw){qx.lang.Type.isObject(dv)||this.__bV(dw||p,x,dv,o);
},assertRegExp:function(dx,dy){qx.lang.Type.isRegExp(dx)||this.__bV(dy||p,t,dx,o);
},assertType:function(dz,dA,dB){this.assertString(dA,E);
typeof (dz)===dA||this.__bV(dB||p,O,dA,bw,dz,o);
},assertInstance:function(dC,dD,dE){var dF=dD.classname||dD+p;
dC instanceof dD||this.__bV(dE||p,G,dF,bw,dC,o);
},assertInterface:function(dG,dH,dI){qx.Class.implementsInterface(dG,dH)||this.__bV(dI||p,T,dG,q,dH,n);
},assertCssColor:function(dJ,dK,dL){var dM=qx.Class.getByName(bm);

if(!dM){throw new Error("qx.util.ColorUtil not available! Your code must have a dependency on 'qx.util.ColorUtil'");
}var dO=dM.stringToRgb(dJ);

try{var dN=dM.stringToRgb(dK);
}catch(dQ){this.__bV(dL||p,d,dJ,j,dO.join(h),g,dK,bd);
}var dP=dO[0]==dN[0]&&dO[1]==dN[1]&&dO[2]==dN[2];
dP||this.__bV(dL||p,d,dO,j,dO.join(h),g,dK,j,dN.join(h),bg);
},assertElement:function(dR,dS){!!(dR&&dR.nodeType===1)||this.__bV(dS||p,s,dR,n);
},assertQxObject:function(dT,dU){this.__bX(dT,bt)||this.__bV(dU||p,y,dT,o);
},assertQxWidget:function(dV,dW){this.__bX(dV,bn)||this.__bV(dW||p,A,dV,o);
},__bX:function(dX,dY){if(!dX){return false;
}var ea=dX.constructor;

while(ea){if(ea.classname===dY){return true;
}ea=ea.superclass;
}return false;
}}});
})();
(function(){var p='',o='"',m=':',l=']',h='null',g=': ',f='object',e='function',d=',',b='\n',ba='\\u',Y=',\n',X='0000',W='string',V="Cannot stringify a recursive object.",U='0',T='-',S='}',R='String',Q='Boolean',x='\\\\',y='\\f',u='\\t',w='{\n',s='[]',t="qx.lang.JsonImpl",q='Z',r='\\n',z='Object',A='{}',H='@',F='.',K='(',J='Array',M='T',L='\\r',C='{',P='JSON.parse',O=' ',N='[',B='Number',D=')',E='[\n',G='\\"',I='\\b';
qx.Class.define(t,{extend:Object,construct:function(){this.stringify=qx.lang.Function.bind(this.stringify,this);
this.parse=qx.lang.Function.bind(this.parse,this);
},members:{__bY:null,__ca:null,__cb:null,__cc:null,stringify:function(bb,bc,bd){this.__bY=p;
this.__ca=p;
this.__cc=[];

if(qx.lang.Type.isNumber(bd)){var bd=Math.min(10,Math.floor(bd));

for(var i=0;i<bd;i+=1){this.__ca+=O;
}}else if(qx.lang.Type.isString(bd)){if(bd.length>10){bd=bd.slice(0,10);
}this.__ca=bd;
}if(bc&&(qx.lang.Type.isFunction(bc)||qx.lang.Type.isArray(bc))){this.__cb=bc;
}else{this.__cb=null;
}return this.__cd(p,{'':bb});
},__cd:function(be,bf){var bi=this.__bY,bg,bj=bf[be];
if(bj&&qx.lang.Type.isFunction(bj.toJSON)){bj=bj.toJSON(be);
}else if(qx.lang.Type.isDate(bj)){bj=this.dateToJSON(bj);
}if(typeof this.__cb===e){bj=this.__cb.call(bf,be,bj);
}
if(bj===null){return h;
}
if(bj===undefined){return undefined;
}switch(qx.lang.Type.getClass(bj)){case R:return this.__ce(bj);
case B:return isFinite(bj)?String(bj):h;
case Q:return String(bj);
case J:this.__bY+=this.__ca;
bg=[];

if(this.__cc.indexOf(bj)!==-1){throw new TypeError(V);
}this.__cc.push(bj);
var length=bj.length;

for(var i=0;i<length;i+=1){bg[i]=this.__cd(i,bj)||h;
}this.__cc.pop();
if(bg.length===0){var bh=s;
}else if(this.__bY){bh=E+this.__bY+bg.join(Y+this.__bY)+b+bi+l;
}else{bh=N+bg.join(d)+l;
}this.__bY=bi;
return bh;
case z:this.__bY+=this.__ca;
bg=[];

if(this.__cc.indexOf(bj)!==-1){throw new TypeError(V);
}this.__cc.push(bj);
if(this.__cb&&typeof this.__cb===f){var length=this.__cb.length;

for(var i=0;i<length;i+=1){var k=this.__cb[i];

if(typeof k===W){var v=this.__cd(k,bj);

if(v){bg.push(this.__ce(k)+(this.__bY?g:m)+v);
}}}}else{for(var k in bj){if(Object.hasOwnProperty.call(bj,k)){var v=this.__cd(k,bj);

if(v){bg.push(this.__ce(k)+(this.__bY?g:m)+v);
}}}}this.__cc.pop();
if(bg.length===0){var bh=A;
}else if(this.__bY){bh=w+this.__bY+bg.join(Y+this.__bY)+b+bi+S;
}else{bh=C+bg.join(d)+S;
}this.__bY=bi;
return bh;
}},dateToJSON:function(bk){var bl=function(n){return n<10?U+n:n;
};
var bm=function(n){var bn=bl(n);
return n<100?U+bn:bn;
};
return isFinite(bk.valueOf())?bk.getUTCFullYear()+T+bl(bk.getUTCMonth()+1)+T+bl(bk.getUTCDate())+M+bl(bk.getUTCHours())+m+bl(bk.getUTCMinutes())+m+bl(bk.getUTCSeconds())+F+bm(bk.getUTCMilliseconds())+q:null;
},__ce:function(bo){var bp={'\b':I,'\t':u,'\n':r,'\f':y,'\r':L,'"':G,'\\':x};
var bq=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
bq.lastIndex=0;

if(bq.test(bo)){return o+
bo.replace(bq,function(a){var c=bp[a];
return typeof c===W?c:ba+(X+a.charCodeAt(0).toString(16)).slice(-4);
})+o;
}else{return o+bo+o;
}},parse:function(br,bs){var bt=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
bt.lastIndex=0;
if(bt.test(br)){br=br.replace(bt,function(a){return ba+(X+a.charCodeAt(0).toString(16)).slice(-4);
});
}if(/^[\],:{}\s]*$/.test(br.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,H).replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,l).replace(/(?:^|:|,)(?:\s*\[)+/g,p))){var j=eval(K+br+D);
return typeof bs===e?this.__cf({'':j},p,bs):j;
}throw new SyntaxError(P);
},__cf:function(bu,bv,bw){var bx=bu[bv];

if(bx&&typeof bx===f){for(var k in bx){if(Object.hasOwnProperty.call(bx,k)){var v=this.__cf(bx,k,bw);

if(v!==undefined){bx[k]=v;
}else{delete bx[k];
}}}}return bw.call(bu,bv,bx);
}}});
})();
(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(d){},setItem:function(e,f){},splice:function(g,h,i){},contains:function(j){},getLength:function(){},toArray:function(){}}});
})();
(function(){var b="GlobalError: ",a="qx.core.GlobalError";
qx.Bootstrap.define(a,{extend:Error,construct:function(c,d){{};
this.__cg=b+(c&&c.message?c.message:c);
Error.call(this,this.__cg);
this.__ch=d;
this.__ci=c;
},members:{__ci:null,__ch:null,__cg:null,toString:function(){return this.__cg;
},getArguments:function(){return this.__ch;
},getSourceException:function(){return this.__ci;
}},destruct:function(){this.__ci=null;
this.__ch=null;
this.__cg=null;
}});
})();
(function(){var c="qx.globalErrorHandling",b="on",a="qx.event.GlobalError";
qx.Bootstrap.define(a,{statics:{setErrorHandler:function(d,f){this.__cj=d||null;
this.__ck=f||window;

if(qx.core.Setting.get(c)===b){if(d&&window.onerror){var g=qx.Bootstrap.bind(this.__cm,this);

if(this.__cl==null){this.__cl=window.onerror;
}var self=this;
window.onerror=function(e){self.__cl(e);
g(e);
};
}
if(d&&!window.onerror){window.onerror=qx.Bootstrap.bind(this.__cm,this);
}if(this.__cj==null){if(this.__cl!=null){window.onerror=this.__cl;
this.__cl=null;
}else{window.onerror=null;
}}}},__cm:function(h,i,j){if(this.__cj){this.handleError(new qx.core.WindowError(h,i,j));
return true;
}},observeMethod:function(k){if(qx.core.Setting.get(c)===b){var self=this;
return function(){if(!self.__cj){return k.apply(this,arguments);
}
try{return k.apply(this,arguments);
}catch(l){self.handleError(new qx.core.GlobalError(l,arguments));
}};
}else{return k;
}},handleError:function(m){if(this.__cj){this.__cj.call(this.__ck,m);
}}},defer:function(n){qx.core.Setting.define(c,b);
n.setErrorHandler(null,null);
}});
})();
(function(){var a="qx.data.MBinding";
qx.Mixin.define(a,{members:{bind:function(b,c,d,e){return qx.data.SingleValueBinding.bind(this,b,c,d,e);
},removeBinding:function(f){qx.data.SingleValueBinding.removeBindingFromObject(this,f);
},removeAllBindings:function(){qx.data.SingleValueBinding.removeAllBindingsForObject(this);
},getBindings:function(){return qx.data.SingleValueBinding.getAllBindingsForObject(this);
}}});
})();
(function(){var q="set",p="get",o="reset",n="MSIE 6.0",m="info",k="qx.core.Object",j="error",h="warn",g="]",f="debug",b="[",d="$$user_",c="rv:1.8.1",a="Object";
qx.Class.define(k,{extend:Object,include:[qx.data.MBinding],construct:function(){qx.core.ObjectRegistry.register(this);
},statics:{$$type:a},members:{toHashCode:function(){return this.$$hash;
},toString:function(){return this.classname+b+this.$$hash+g;
},base:function(r,s){{};

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

if(this.hasOwnProperty(w[name])){u[y[name]](this[w[name]]);
}}return u;
},set:function(z,A){var C=qx.core.Property.$$method.set;

if(qx.Bootstrap.isString(z)){if(!this[C[z]]){if(this[q+qx.Bootstrap.firstUp(z)]!=undefined){this[q+qx.Bootstrap.firstUp(z)](A);
return this;
}{};
}return this[C[z]](A);
}else{for(var B in z){if(!this[C[B]]){if(this[q+qx.Bootstrap.firstUp(B)]!=undefined){this[q+qx.Bootstrap.firstUp(B)](z[B]);
continue;
}{};
}this[C[B]](z[B]);
}return this;
}},get:function(D){var E=qx.core.Property.$$method.get;

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

if(!this[G[F]]){if(this[o+qx.Bootstrap.firstUp(F)]!=undefined){this[o+qx.Bootstrap.firstUp(F)]();
return;
}{};
}this[G[F]]();
},__cn:qx.event.Registration,addListener:function(H,I,self,J){if(!this.$$disposed){return this.__cn.addListener(this,H,I,self,J);
}return null;
},addListenerOnce:function(K,L,self,M){var N=function(e){this.removeListener(K,N,this,M);
L.call(self||this,e);
};
return this.addListener(K,N,this,M);
},removeListener:function(O,P,self,Q){if(!this.$$disposed){return this.__cn.removeListener(this,O,P,self,Q);
}return false;
},removeListenerById:function(R){if(!this.$$disposed){return this.__cn.removeListenerById(this,R);
}return false;
},hasListener:function(S,T){return this.__cn.hasListener(this,S,T);
},dispatchEvent:function(U){if(!this.$$disposed){return this.__cn.dispatchEvent(this,U);
}return true;
},fireEvent:function(V,W,X){if(!this.$$disposed){return this.__cn.fireEvent(this,V,W,X);
}return true;
},fireNonBubblingEvent:function(Y,ba,bb){if(!this.$$disposed){return this.__cn.fireNonBubblingEvent(this,Y,ba,bb);
}return true;
},fireDataEvent:function(bc,bd,be,bf){if(!this.$$disposed){if(be===undefined){be=null;
}return this.__cn.fireNonBubblingEvent(this,bc,qx.event.type.Data,[bd,be,!!bf]);
}return true;
},__co:null,setUserData:function(bg,bh){if(!this.__co){this.__co={};
}this.__co[bg]=bh;
},getUserData:function(bi){if(!this.__co){return null;
}var bj=this.__co[bi];
return bj===undefined?null:bj;
},__cp:qx.log.Logger,debug:function(bk){this.__cq(f,arguments);
},info:function(bl){this.__cq(m,arguments);
},warn:function(bm){this.__cq(h,arguments);
},error:function(bn){this.__cq(j,arguments);
},trace:function(){this.__cp.trace(this);
},__cq:function(bo,bp){var bq=qx.lang.Array.fromArguments(bp);
bq.unshift(this);
this.__cp[bo].apply(this.__cp,bq);
},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.__cr){this.__cr();
}{};
},__cr:null,__cs:function(){var bx=qx.Class.getProperties(this.constructor);

for(var i=0,l=bx.length;i<l;i++){delete this[d+bx[i]];
}},_disposeObjects:function(by){qx.util.DisposeUtil.disposeObjects(this,arguments);
},_disposeSingletonObjects:function(bz){qx.util.DisposeUtil.disposeObjects(this,arguments,true);
},_disposeArray:function(bA){qx.util.DisposeUtil.disposeArray(this,bA);
},_disposeMap:function(bB){qx.util.DisposeUtil.disposeMap(this,bB);
}},settings:{"qx.disposerDebugLevel":0},defer:function(bC,bD){{};
var bF=navigator.userAgent.indexOf(n)!=-1;
var bE=navigator.userAgent.indexOf(c)!=-1;
if(bF||bE){bD.__cr=bD.__cs;
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){qx.event.Registration.removeAllListeners(this);
}else{qx.event.Registration.deleteAllListeners(this);
}qx.core.ObjectRegistry.unregister(this);
this.__co=null;
var bI=this.constructor;
var bM;
var bN=qx.core.Property.$$store;
var bK=bN.user;
var bL=bN.theme;
var bG=bN.inherit;
var bJ=bN.useinit;
var bH=bN.init;

while(bI){bM=bI.$$properties;

if(bM){for(var name in bM){if(bM[name].dereference){this[bK[name]]=this[bL[name]]=this[bG[name]]=this[bJ[name]]=this[bH[name]]=undefined;
}}}bI=bI.superclass;
}}});
})();
(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 a="qx.event.IEventHandler";
qx.Interface.define(a,{statics:{TARGET_DOMNODE:1,TARGET_WINDOW:2,TARGET_OBJECT:4,TARGET_DOCUMENT:8},members:{canHandleEvent:function(b,c){},registerEvent:function(d,e,f){},unregisterEvent:function(g,h,i){}}});
})();
(function(){var m="ready",l="qx.client",k="mshtml",j="load",i="unload",h="qx.event.handler.Application",g="complete",f="qx.application",d="gecko|opera|webkit",c="left",a="DOMContentLoaded",b="shutdown";
qx.Class.define(h,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(n){qx.core.Object.call(this);
this._window=n.getWindow();
this.__ct=false;
this.__cu=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 o=qx.event.handler.Application.$$instance;

if(o){o.__cx();
}}},members:{canHandleEvent:function(p,q){},registerEvent:function(r,s,t){},unregisterEvent:function(u,v,w){},__cv:null,__ct:null,__cu:null,__cw:null,__cx:function(){if(!this.__cv&&this.__ct&&qx.$$loader.scriptLoaded){try{var x=qx.core.Setting.get(f);

if(!qx.Class.getByName(x)){return;
}}catch(e){}if(qx.core.Variant.isSet(l,k)){if(qx.event.Registration.hasListener(this._window,m)){this.__cv=true;
qx.event.Registration.fireEvent(this._window,m);
}}else{this.__cv=true;
qx.event.Registration.fireEvent(this._window,m);
}}},isApplicationReady:function(){return this.__cv;
},_initObserver:function(){if(qx.$$domReady||document.readyState==g||document.readyState==m){this.__ct=true;
this.__cx();
}else{this._onNativeLoadWrapped=qx.lang.Function.bind(this._onNativeLoad,this);

if(qx.core.Variant.isSet(l,d)){qx.bom.Event.addNativeListener(this._window,a,this._onNativeLoadWrapped);
}else if(qx.core.Variant.isSet(l,k)){var self=this;
var y=function(){try{document.documentElement.doScroll(c);

if(document.body){self._onNativeLoadWrapped();
}}catch(z){window.setTimeout(y,100);
}};
y();
}qx.bom.Event.addNativeListener(this._window,j,this._onNativeLoadWrapped);
}this._onNativeUnloadWrapped=qx.lang.Function.bind(this._onNativeUnload,this);
qx.bom.Event.addNativeListener(this._window,i,this._onNativeUnloadWrapped);
},_stopObserver:function(){if(this._onNativeLoadWrapped){qx.bom.Event.removeNativeListener(this._window,j,this._onNativeLoadWrapped);
}qx.bom.Event.removeNativeListener(this._window,i,this._onNativeUnloadWrapped);
this._onNativeLoadWrapped=null;
this._onNativeUnloadWrapped=null;
},_onNativeLoad:qx.event.GlobalError.observeMethod(function(){this.__ct=true;
this.__cx();
}),_onNativeUnload:qx.event.GlobalError.observeMethod(function(){if(!this.__cw){this.__cw=true;

try{qx.event.Registration.fireEvent(this._window,b);
}catch(e){throw e;
}finally{qx.core.ObjectRegistry.shutdown();
}}})},destruct:function(){this._stopObserver();
this._window=null;
},defer:function(A){qx.event.Registration.addHandler(A);
}});
})();
(function(){var a="qx.event.IEventDispatcher";
qx.Interface.define(a,{members:{canDispatchEvent:function(b,event,c){this.assertInstance(event,qx.event.type.Event);
this.assertString(c);
},dispatchEvent:function(d,event,e){this.assertInstance(event,qx.event.type.Event);
this.assertString(e);
}}});
})();
(function(){var a="qx.event.dispatch.Direct";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventDispatcher,construct:function(b){this._manager=b;
},statics:{PRIORITY:qx.event.Registration.PRIORITY_LAST},members:{canDispatchEvent:function(c,event,d){return !event.getBubbles();
},dispatchEvent:function(e,event,f){var j,g;
{};
event.setEventPhase(qx.event.type.Event.AT_TARGET);
var k=this._manager.getListeners(e,f,false);

if(k){for(var i=0,l=k.length;i<l;i++){var h=k[i].context||e;
k[i].handler.call(h,event);
}}}},defer:function(m){qx.event.Registration.addDispatcher(m);
}});
})();
(function(){var a="qx.event.handler.Window";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(b){qx.core.Object.call(this);
this._manager=b;
this._window=b.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(c,d){},registerEvent:function(f,g,h){},unregisterEvent:function(i,j,k){},_initWindowObserver:function(){this._onNativeWrapper=qx.lang.Function.listener(this._onNative,this);
var m=qx.event.handler.Window.SUPPORTED_TYPES;

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

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

try{var t=q.document;
}catch(e){return ;
}var r=t.documentElement;
var p=qx.bom.Event.getTarget(e);

if(p==null||p===q||p===t||p===r){var event=qx.event.Registration.createEvent(e.type,qx.event.type.Native,[e,q]);
qx.event.Registration.dispatchEvent(q,event);
var s=event.getReturnValue();

if(s!=null){e.returnValue=s;
return s;
}}})},destruct:function(){this._stopWindowObserver();
this._manager=this._window=null;
},defer:function(u){qx.event.Registration.addHandler(u);
}});
})();
(function(){var f="ready",d="qx.application",c="beforeunload",b="qx.core.Init",a="shutdown";
qx.Class.define(b,{statics:{getApplication:function(){return this.__cy||null;
},ready:function(){if(this.__cy){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 h=qx.core.Setting.get(d);
var i=qx.Class.getByName(h);

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

if(j){e.setReturnValue(j.close());
}},__cA:function(){var k=this.__cy;

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

if(d){return d.tr.apply(d,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(j,k,l){var m=qx.locale.Manager;

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

if(o){return o.marktr.apply(o,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:{__cB:null,_createRootWidget:function(){throw new Error("Abstract method call");
},getRoot:function(){return this.__cB;
},main:function(){qx.theme.manager.Meta.getInstance().initialize();
qx.ui.tooltip.Manager.getInstance();
this.__cB=this._createRootWidget();
},finalize:function(){this.render();
},render:function(){qx.ui.core.queue.Manager.flush();
},close:function(c){},terminate:function(){}},destruct:function(){this.__cB=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 h='</xmp>',g='<xmp>',f="100%",e="html",d="",c="tasksOnly",b="track.Application";
function a(i){var j=d;

if(window.document.body.outerHTML!=undefined){j=g+window.document.body.outerHTML+h;
}else if(document.getElementsByTagName(e)[0].innerHTML!=undefined){j=g+document.getElementsByTagName(e)[0].innerHTML+h;
}else if(window.document.documentElement.outerHTML!=undefined){j=g+window.document.documentElement.outerHTML+h;
}else{alert('Your browser does not support this functionality');
}i.info(j);
}qx.Class.define(b,{extend:qx.application.Standalone,members:{main:function(){qx.application.Standalone.prototype.main.call(this);
{};
net.watchee.util.log=this;
if(xbProperties.getBoolean(c,false)){var k=new track.tasks.TaskWindow();
k.create();
k.open();
}else{this.trackGui=new track.TrackGui(this);
this.getRoot().add(this.trackGui,{left:0,top:0,width:f,height:f});
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 a="qx.event.type.Event";
qx.Class.define(a,{extend:qx.core.Object,statics:{CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3},members:{init:function(b,c){{};
this._type=null;
this._target=null;
this._currentTarget=null;
this._relatedTarget=null;
this._originalTarget=null;
this._stopPropagation=false;
this._preventDefault=false;
this._bubbles=!!b;
this._cancelable=!!c;
this._timeStamp=(new Date()).getTime();
this._eventPhase=null;
return this;
},clone:function(d){if(d){var e=d;
}else{var e=qx.event.Pool.getInstance().getObject(this.constructor);
}e._type=this._type;
e._target=this._target;
e._currentTarget=this._currentTarget;
e._relatedTarget=this._relatedTarget;
e._originalTarget=this._originalTarget;
e._stopPropagation=this._stopPropagation;
e._bubbles=this._bubbles;
e._preventDefault=this._preventDefault;
e._cancelable=this._cancelable;
return e;
},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(f){this._type=f;
},getEventPhase:function(){return this._eventPhase;
},setEventPhase:function(g){this._eventPhase=g;
},getTimeStamp:function(){return this._timeStamp;
},getTarget:function(){return this._target;
},setTarget:function(h){this._target=h;
},getCurrentTarget:function(){return this._currentTarget||this._target;
},setCurrentTarget:function(i){this._currentTarget=i;
},getRelatedTarget:function(){return this._relatedTarget;
},setRelatedTarget:function(j){this._relatedTarget=j;
},getOriginalTarget:function(){return this._originalTarget;
},setOriginalTarget:function(k){this._originalTarget=k;
},getBubbles:function(){return this._bubbles;
},setBubbles:function(l){this._bubbles=l;
},isCancelable:function(){return this._cancelable;
},setCancelable:function(m){this._cancelable=m;
}},destruct:function(){this._target=this._currentTarget=this._relatedTarget=this._originalTarget=null;
}});
})();
(function(){var a="qx.event.type.Data";
qx.Class.define(a,{extend:qx.event.type.Event,members:{__cC:null,__cD:null,init:function(b,c,d){qx.event.type.Event.prototype.init.call(this,false,d);
this.__cC=b;
this.__cD=c;
return this;
},clone:function(e){var f=qx.event.type.Event.prototype.clone.call(this,e);
f.__cC=this.__cC;
f.__cD=this.__cD;
return f;
},getData:function(){return this.__cC;
},getOldData:function(){return this.__cD;
}},destruct:function(){this.__cC=this.__cD=null;
}});
})();
(function(){var b="",a="qx.core.WindowError";
qx.Bootstrap.define(a,{extend:Error,construct:function(c,d,e){Error.call(this,c);
this.__cE=c;
this.__cF=d||b;
this.__cG=e===undefined?-1:e;
},members:{__cE:null,__cF:null,__cG:null,toString:function(){return this.__cE;
},getUri:function(){return this.__cF;
},getLineNumber:function(){return this.__cG;
}}});
})();
(function(){var a="qx.lang.Date";
qx.Class.define(a,{statics:{now:function(){return +new Date;
}}});
})();
(function(){var b="qx.util.ObjectPool",a="Integer";
qx.Class.define(b,{extend:qx.core.Object,construct:function(c){qx.core.Object.call(this);
this.__cH={};

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

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

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

for(k in n){m=n[k];

for(i=0,l=m.length;i<l;i++){m[i].dispose();
}}delete this.__cH;
}});
})();
(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 a="qx.util.DisposeUtil";
qx.Class.define(a,{statics:{disposeObjects:function(b,c,d){var name;

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

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

if(!h){return;
}if(qx.core.ObjectRegistry.inShutDown){e[f]=null;
return;
}try{var g;

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

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

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

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

if(o.hasOwnProperty(p)&&n){n.dispose();
}}}catch(q){throw new Error("The map field: "+m+" of object: "+k+" has non disposable entries: "+q);
}k[m]=null;
},disposeTriggeredBy:function(r,s){var t=s.dispose;
s.dispose=function(){t.call(s);
r.dispose();
};
}}});
})();
(function(){var m="get",l="",k="[",h="last",g="change",f="]",d=".",c="Number",b="String",a="set",D="deepBinding",C="item",B="reset",A="' (",z="Boolean",y=").",x=") to the object '",w="Integer",v=" of object ",u="qx.data.SingleValueBinding",s="Binding property ",t="PositiveNumber",q="Binding from '",r="PositiveInteger",o="Binding does not exist!",p="Date",n=" not possible: No event available. ";
qx.Class.define(u,{statics:{DEBUG_ON:false,__cI:{},bind:function(E,F,G,H,I){var S=this.__cK(E,F,G,H,I);
var N=F.split(d);
var K=this.__cQ(N);
var R=[];
var O=[];
var P=[];
var L=[];
var M=E;
for(var i=0;i<N.length;i++){if(K[i]!==l){L.push(g);
}else{L.push(this.__cL(M,N[i]));
}R[i]=M;
if(i==N.length-1){if(K[i]!==l){var V=K[i]===h?M.length-1:K[i];
var J=M.getItem(V);
this.__cP(J,G,H,I,E);
P[i]=this.__cR(M,L[i],G,H,I,K[i]);
}else{if(N[i]!=null&&M[m+qx.lang.String.firstUp(N[i])]!=null){var J=M[m+qx.lang.String.firstUp(N[i])]();
this.__cP(J,G,H,I,E);
}P[i]=this.__cR(M,L[i],G,H,I);
}}else{var T={index:i,propertyNames:N,sources:R,listenerIds:P,arrayIndexValues:K,targetObject:G,targetPropertyChain:H,options:I,listeners:O};
var Q=qx.lang.Function.bind(this.__cJ,this,T);
O.push(Q);
P[i]=M.addListener(L[i],Q);
}if(M[m+qx.lang.String.firstUp(N[i])]==null){M=null;
}else if(K[i]!==l){M=M[m+qx.lang.String.firstUp(N[i])](K[i]);
}else{M=M[m+qx.lang.String.firstUp(N[i])]();
}
if(!M){break;
}}var U={type:D,listenerIds:P,sources:R,targetListenerIds:S.listenerIds,targets:S.targets};
this.__cS(U,E,F,G,H);
return U;
},__cJ:function(W){if(W.options&&W.options.onUpdate){W.options.onUpdate(W.sources[W.index],W.targetObject);
}for(var j=W.index+1;j<W.propertyNames.length;j++){var bb=W.sources[j];
W.sources[j]=null;

if(!bb){continue;
}bb.removeListenerById(W.listenerIds[j]);
}var bb=W.sources[W.index];
for(var j=W.index+1;j<W.propertyNames.length;j++){if(W.arrayIndexValues[j-1]!==l){bb=bb[m+qx.lang.String.firstUp(W.propertyNames[j-1])](W.arrayIndexValues[j-1]);
}else{bb=bb[m+qx.lang.String.firstUp(W.propertyNames[j-1])]();
}W.sources[j]=bb;
if(!bb){this.__cM(W.targetObject,W.targetPropertyChain);
break;
}if(j==W.propertyNames.length-1){if(qx.Class.implementsInterface(bb,qx.data.IListData)){var bc=W.arrayIndexValues[j]===h?bb.length-1:W.arrayIndexValues[j];
var Y=bb.getItem(bc);
this.__cP(Y,W.targetObject,W.targetPropertyChain,W.options,W.sources[W.index]);
W.listenerIds[j]=this.__cR(bb,g,W.targetObject,W.targetPropertyChain,W.options,W.arrayIndexValues[j]);
}else{if(W.propertyNames[j]!=null&&bb[m+qx.lang.String.firstUp(W.propertyNames[j])]!=null){var Y=bb[m+qx.lang.String.firstUp(W.propertyNames[j])]();
this.__cP(Y,W.targetObject,W.targetPropertyChain,W.options,W.sources[W.index]);
}var ba=this.__cL(bb,W.propertyNames[j]);
W.listenerIds[j]=this.__cR(bb,ba,W.targetObject,W.targetPropertyChain,W.options);
}}else{if(W.listeners[j]==null){var X=qx.lang.Function.bind(this.__cJ,this,W);
W.listeners.push(X);
}if(qx.Class.implementsInterface(bb,qx.data.IListData)){var ba=g;
}else{var ba=this.__cL(bb,W.propertyNames[j]);
}W.listenerIds[j]=bb.addListener(ba,W.listeners[j]);
}}},__cK:function(bd,be,bf,bg,bh){var bl=bg.split(d);
var bj=this.__cQ(bl);
var bq=[];
var bp=[];
var bn=[];
var bm=[];
var bk=bf;
for(var i=0;i<bl.length-1;i++){if(bj[i]!==l){bm.push(g);
}else{try{bm.push(this.__cL(bk,bl[i]));
}catch(e){break;
}}bq[i]=bk;
var bo=function(){for(var j=i+1;j<bl.length-1;j++){var bt=bq[j];
bq[j]=null;

if(!bt){continue;
}bt.removeListenerById(bn[j]);
}var bt=bq[i];
for(var j=i+1;j<bl.length-1;j++){var br=qx.lang.String.firstUp(bl[j-1]);
if(bj[j-1]!==l){var bu=bj[j-1]===h?bt.getLength()-1:bj[j-1];
bt=bt[m+br](bu);
}else{bt=bt[m+br]();
}bq[j]=bt;
if(bp[j]==null){bp.push(bo);
}if(qx.Class.implementsInterface(bt,qx.data.IListData)){var bs=g;
}else{try{var bs=qx.data.SingleValueBinding.__cL(bt,bl[j]);
}catch(e){break;
}}bn[j]=bt.addListener(bs,bp[j]);
}qx.data.SingleValueBinding.updateTarget(bd,be,bf,bg,bh);
};
bp.push(bo);
bn[i]=bk.addListener(bm[i],bo);
var bi=qx.lang.String.firstUp(bl[i]);
if(bk[m+bi]==null){bk=null;
}else if(bj[i]!==l){bk=bk[m+bi](bj[i]);
}else{bk=bk[m+bi]();
}
if(!bk){break;
}}return {listenerIds:bn,targets:bq};
},updateTarget:function(bv,bw,bx,by,bz){var bD=this.__cO(bv,bw);

if(bD!=null){var bF=bw.substring(bw.lastIndexOf(d)+1,bw.length);
if(bF.charAt(bF.length-1)==f){var bA=bF.substring(bF.lastIndexOf(k)+1,bF.length-1);
var bC=bF.substring(0,bF.lastIndexOf(k));
var bE=bD[m+qx.lang.String.firstUp(bC)]();

if(bA==h){bA=bE.length-1;
}
if(bE!=null){var bB=bE.getItem(bA);
}}else{var bB=bD[m+qx.lang.String.firstUp(bF)]();
}}bB=qx.data.SingleValueBinding.__cT(bB,bx,by,bz);
this.__cN(bx,by,bB);
},__cL:function(bG,bH){var bI=this.__cU(bG,bH);
if(bI==null){if(qx.Class.supportsEvent(bG.constructor,bH)){bI=bH;
}else if(qx.Class.supportsEvent(bG.constructor,g+qx.lang.String.firstUp(bH))){bI=g+qx.lang.String.firstUp(bH);
}else{throw new qx.core.AssertionError(s+bH+v+bG+n);
}}return bI;
},__cM:function(bJ,bK){var bL=this.__cO(bJ,bK);

if(bL!=null){var bM=bK.substring(bK.lastIndexOf(d)+1,bK.length);
if(bM.charAt(bM.length-1)==f){this.__cN(bJ,bK,null);
return;
}if(bL[B+qx.lang.String.firstUp(bM)]!=undefined){bL[B+qx.lang.String.firstUp(bM)]();
}else{bL[a+qx.lang.String.firstUp(bM)](null);
}}},__cN:function(bN,bO,bP){var bT=this.__cO(bN,bO);

if(bT!=null){var bU=bO.substring(bO.lastIndexOf(d)+1,bO.length);
if(bU.charAt(bU.length-1)==f){var bQ=bU.substring(bU.lastIndexOf(k)+1,bU.length-1);
var bS=bU.substring(0,bU.lastIndexOf(k));
var bR=bN;

if(!qx.Class.implementsInterface(bR,qx.data.IListData)){bR=bT[m+qx.lang.String.firstUp(bS)]();
}
if(bQ==h){bQ=bR.length-1;
}
if(bR!=null){bR.setItem(bQ,bP);
}}else{bT[a+qx.lang.String.firstUp(bU)](bP);
}}},__cO:function(bV,bW){var ca=bW.split(d);
var cb=bV;
for(var i=0;i<ca.length-1;i++){try{var bY=ca[i];
if(bY.indexOf(f)==bY.length-1){var bX=bY.substring(bY.indexOf(k)+1,bY.length-1);
bY=bY.substring(0,bY.indexOf(k));
}cb=cb[m+qx.lang.String.firstUp(bY)]();

if(bX!=null){if(bX==h){bX=cb.length-1;
}cb=cb.getItem(bX);
bX=null;
}}catch(cc){return null;
}}return cb;
},__cP:function(cd,ce,cf,cg,ch){cd=this.__cT(cd,ce,cf,cg);
if(cd===undefined){this.__cM(ce,cf);
}if(cd!==undefined){try{this.__cN(ce,cf,cd);
if(cg&&cg.onUpdate){cg.onUpdate(ch,ce,cd);
}}catch(e){if(!(e instanceof qx.core.ValidationError)){throw e;
}
if(cg&&cg.onSetFail){cg.onSetFail(e);
}else{qx.log.Logger.warn("Failed so set value "+cd+" on "+ce+". Error message: "+e);
}}}},__cQ:function(ci){var cj=[];
for(var i=0;i<ci.length;i++){var name=ci[i];
if(qx.lang.String.endsWith(name,f)){var ck=name.substring(name.indexOf(k)+1,name.indexOf(f));
if(name.indexOf(f)!=name.length-1){throw new Error("Please use only one array at a time: "+name+" does not work.");
}
if(ck!==h){if(ck==l||isNaN(parseInt(ck,10))){throw new Error("No number or 'last' value hast been given"+" in a array binding: "+name+" does not work.");
}}if(name.indexOf(k)!=0){ci[i]=name.substring(0,name.indexOf(k));
cj[i]=l;
cj[i+1]=ck;
ci.splice(i+1,0,C);
i++;
}else{cj[i]=ck;
ci.splice(i,1,C);
}}else{cj[i]=l;
}}return cj;
},__cR:function(cl,cm,cn,co,cp,cq){var cr;
{};
var ct=function(cu,e){if(cu!==l){if(cu===h){cu=cl.length-1;
}var cx=cl.getItem(cu);
if(cx===undefined){qx.data.SingleValueBinding.__cM(cn,co);
}var cv=e.getData().start;
var cw=e.getData().end;

if(cu<cv||cu>cw){return;
}}else{var cx=e.getData();
}if(qx.data.SingleValueBinding.DEBUG_ON){qx.log.Logger.debug("Binding executed from "+cl+" by "+cm+" to "+cn+" ("+co+")");
qx.log.Logger.debug("Data before conversion: "+cx);
}cx=qx.data.SingleValueBinding.__cT(cx,cn,co,cp);
if(qx.data.SingleValueBinding.DEBUG_ON){qx.log.Logger.debug("Data after conversion: "+cx);
}try{if(cx!==undefined){qx.data.SingleValueBinding.__cN(cn,co,cx);
}else{qx.data.SingleValueBinding.__cM(cn,co);
}if(cp&&cp.onUpdate){cp.onUpdate(cl,cn,cx);
}}catch(e){if(!(e instanceof qx.core.ValidationError)){throw e;
}
if(cp&&cp.onSetFail){cp.onSetFail(e);
}else{qx.log.Logger.warn("Failed so set value "+cx+" on "+cn+". Error message: "+e);
}}};
if(!cq){cq=l;
}ct=qx.lang.Function.bind(ct,cl,cq);
var cs=cl.addListener(cm,ct);
return cs;
},__cS:function(cy,cz,cA,cB,cC){if(this.__cI[cz.toHashCode()]===undefined){this.__cI[cz.toHashCode()]=[];
}this.__cI[cz.toHashCode()].push([cy,cz,cA,cB,cC]);
},__cT:function(cD,cE,cF,cG){if(cG&&cG.converter){var cI;

if(cE.getModel){cI=cE.getModel();
}return cG.converter(cD,cI);
}else{var cK=this.__cO(cE,cF);
var cL=cF.substring(cF.lastIndexOf(d)+1,cF.length);
if(cK==null){return cD;
}var cJ=qx.Class.getPropertyDefinition(cK.constructor,cL);
var cH=cJ==null?l:cJ.check;
return this.__cV(cD,cH);
}},__cU:function(cM,cN){var cO=qx.Class.getPropertyDefinition(cM.constructor,cN);

if(cO==null){return null;
}return cO.event;
},__cV:function(cP,cQ){var cR=qx.lang.Type.getClass(cP);
if((cR==c||cR==b)&&(cQ==w||cQ==r)){cP=parseInt(cP,10);
}if((cR==z||cR==c||cR==p)&&cQ==b){cP=cP+l;
}if((cR==c||cR==b)&&(cQ==c||cQ==t)){cP=parseFloat(cP);
}return cP;
},removeBindingFromObject:function(cS,cT){if(cT.type==D){for(var i=0;i<cT.sources.length;i++){if(cT.sources[i]){cT.sources[i].removeListenerById(cT.listenerIds[i]);
}}for(var i=0;i<cT.targets.length;i++){if(cT.targets[i]){cT.targets[i].removeListenerById(cT.targetListenerIds[i]);
}}}else{cS.removeListenerById(cT);
}var cU=this.__cI[cS.toHashCode()];
if(cU!=undefined){for(var i=0;i<cU.length;i++){if(cU[i][0]==cT){qx.lang.Array.remove(cU,cU[i]);
return;
}}}throw new Error("Binding could not be found!");
},removeAllBindingsForObject:function(cV){{};
var cW=this.__cI[cV.toHashCode()];

if(cW!=undefined){for(var i=cW.length-1;i>=0;i--){this.removeBindingFromObject(cV,cW[i][0]);
}}},getAllBindingsForObject:function(cX){if(this.__cI[cX.toHashCode()]===undefined){this.__cI[cX.toHashCode()]=[];
}return this.__cI[cX.toHashCode()];
},removeAllBindings:function(){for(var da in this.__cI){var cY=qx.core.ObjectRegistry.fromHashCode(da);
if(cY==null){delete this.__cI[da];
continue;
}this.removeAllBindingsForObject(cY);
}this.__cI={};
},getAllBindings:function(){return this.__cI;
},showBindingInLog:function(db,dc){var de;
for(var i=0;i<this.__cI[db.toHashCode()].length;i++){if(this.__cI[db.toHashCode()][i][0]==dc){de=this.__cI[db.toHashCode()][i];
break;
}}
if(de===undefined){var dd=o;
}else{var dd=q+de[1]+A+de[2]+x+de[3]+A+de[4]+y;
}qx.log.Logger.debug(dd);
},showAllBindingsInLog:function(){for(var dg in this.__cI){var df=qx.core.ObjectRegistry.fromHashCode(dg);

for(var i=0;i<this.__cI[dg].length;i++){this.showBindingInLog(df,this.__cI[dg][i][0]);
}}}}});
})();
(function(){var a="qx.core.ValidationError";
qx.Class.define(a,{extend:qx.type.BaseError});
})();
(function(){var a="qx.event.handler.Object";
qx.Class.define(a,{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(b,c){return qx.Class.supportsEvent(b.constructor,c);
},registerEvent:function(d,e,f){},unregisterEvent:function(g,h,i){}},defer:function(j){qx.event.Registration.addHandler(j);
}});
})();
(function(){var k="indexOf",j="lastIndexOf",h="slice",g="concat",f="join",e="toLocaleUpperCase",d="shift",c="substr",b="filter",a="unshift",I="match",H="quote",G="qx.lang.Generics",F="localeCompare",E="sort",D="some",C="charAt",B="split",A="substring",z="pop",t="toUpperCase",u="replace",q="push",r="charCodeAt",o="every",p="reverse",m="search",n="forEach",v="map",w="toLowerCase",y="splice",x="toLocaleLowerCase";
qx.Class.define(G,{statics:{__cW:{"Array":[f,p,E,q,z,d,a,y,g,h,k,j,n,v,b,D,o],"String":[H,A,w,t,C,r,k,j,x,e,F,I,m,u,B,c,g,h]},__cX:function(J,K){return function(s){return J.prototype[K].apply(s,Array.prototype.slice.call(arguments,1));
};
},__cY:function(){var L=qx.lang.Generics.__cW;

for(var P in L){var N=window[P];
var M=L[P];

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

if(!N[O]){N[O]=qx.lang.Generics.__cX(N,O);
}}}}},defer:function(Q){Q.__cY();
}});
})();
(function(){var a="qx.event.type.Native";
qx.Class.define(a,{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(g){var h=qx.event.type.Event.prototype.clone.call(this,g);
var i={};
h._native=this._cloneNativeEvent(this._native,i);
h._returnValue=this._returnValue;
return h;
},_cloneNativeEvent:function(j,k){k.preventDefault=qx.lang.Function.empty;
return k;
},preventDefault:function(){qx.event.type.Event.prototype.preventDefault.call(this);
qx.bom.Event.preventDefault(this._native);
},getNativeEvent:function(){return this._native;
},setReturnValue:function(l){this._returnValue=l;
},getReturnValue:function(){return this._returnValue;
}},destruct:function(){this._native=this._returnValue=null;
}});
})();
(function(){var n="iPod",m="Win32",l="",k="Win64",j="Linux",i="BSD",h="Macintosh",g="iPhone",f="Windows",e="qx.bom.client.Platform",b="iPad",d="X11",c="MacIntel",a="MacPPC";
qx.Class.define(e,{statics:{NAME:"",WIN:false,MAC:false,UNIX:false,UNKNOWN_PLATFORM:false,__da:function(){var o=navigator.platform;
if(o==null||o===l){o=navigator.userAgent;
}
if(o.indexOf(f)!=-1||o.indexOf(m)!=-1||o.indexOf(k)!=-1){this.WIN=true;
this.NAME="win";
}else if(o.indexOf(h)!=-1||o.indexOf(a)!=-1||o.indexOf(c)!=-1||o.indexOf(n)!=-1||o.indexOf(g)!=-1||o.indexOf(b)!=-1){this.MAC=true;
this.NAME="mac";
}else if(o.indexOf(d)!=-1||o.indexOf(j)!=-1||o.indexOf(i)!=-1){this.UNIX=true;
this.NAME="unix";
}else{this.UNKNOWN_PLATFORM=true;
this.WIN=true;
this.NAME="win";
}}},defer:function(p){p.__da();
}});
})();
(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",I=")",H="winxp",G="freebsd",F="sunos",E="SV1",D="|",C="nintendods",B="winnt4",A="wince",z="winme",q="os9",r="\.",o="osx",p="linux",m="netbsd",n="winvista",k="openbsd",l="(",s="win2003",t="iPad",v="symbian",u="win7",x="g",w="qx.bom.client.System",y=" Mobile/";
qx.Bootstrap.define(w,{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,IPAD:false,UNKNOWN_SYSTEM:false,__db:{"Windows NT 6.1":u,"Windows NT 6.0":n,"Windows NT 5.2":s,"Windows NT 5.1":H,"Windows NT 5.0":e,"Windows 2000":e,"Windows NT 4.0":B,"Win 9x 4.90":z,"Windows CE":A,"Windows 98":j,"Win98":j,"Windows 95":f,"Win95":f,"Linux":p,"FreeBSD":G,"NetBSD":m,"OpenBSD":k,"SunOS":F,"Symbian System":v,"Nitro":C,"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},__dc:function(){var L=navigator.userAgent;
var K=[];

for(var J in this.__db){K.push(J);
}var M=new RegExp(l+K.join(D).replace(/\./g,r)+I,x);

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(y).test(navigator.userAgent)){if(RegExp(t).test(navigator.userAgent)){this.IPAD=true;
this.NAME="ipad";
}else{this.IPHONE=true;
this.NAME="iphone";
}}else{this.NAME=this.__db[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(E)!==-1){this.SP2=true;
}}}}},defer:function(N){N.__dc();
}});
})();
(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 b="qx.util.ValueManager",a="abstract";
qx.Class.define(b,{type:a,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this._dynamic={};
},members:{_dynamic:null,resolveDynamic:function(c){return this._dynamic[c];
},isDynamic:function(d){return !!this._dynamic[d];
},resolve:function(e){if(e&&this._dynamic[e]){return this._dynamic[e];
}return e;
},_setDynamic:function(f){this._dynamic=f;
},_getDynamic:function(){return this._dynamic;
}},destruct:function(){this._dynamic=null;
}});
})();
(function(){var f="_applyTheme",e="qx.theme.manager.Color",d="Theme",c="changeTheme",b="string",a="singleton";
qx.Class.define(e,{type:a,extend:qx.util.ValueManager,properties:{theme:{check:d,nullable:true,apply:f,event:c}},members:{_applyTheme:function(g){var h={};

if(g){var i=g.colors;
var j=qx.util.ColorUtil;
var k;

for(var l in i){k=i[l];

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

if(n){return n;
}var o=this.getTheme();

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

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

if(r!==null&&q&&(r.colors[q]!==undefined)){s[q]=r.colors[q];
return true;
}return false;
}}});
})();
(function(){var h=",",e="rgb(",d=")",c="qx.theme.manager.Color",a="qx.util.ColorUtil";
qx.Class.define(a,{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(j){return this.NAMED[j]!==undefined;
},isSystemColor:function(k){return this.SYSTEM[k]!==undefined;
},supportsThemes:function(){return qx.Class.isDefined(c);
},isThemedColor:function(l){if(!this.supportsThemes()){return false;
}return qx.theme.manager.Color.getInstance().isDynamic(l);
},stringToRgb:function(m){if(this.supportsThemes()&&this.isThemedColor(m)){var m=qx.theme.manager.Color.getInstance().resolveDynamic(m);
}
if(this.isNamedColor(m)){return this.NAMED[m];
}else if(this.isSystemColor(m)){throw new Error("Could not convert system colors to RGB: "+m);
}else if(this.isRgbString(m)){return this.__dd();
}else if(this.isHex3String(m)){return this.__df();
}else if(this.isHex6String(m)){return this.__dg();
}throw new Error("Could not parse color: "+m);
},cssStringToRgb:function(n){if(this.isNamedColor(n)){return this.NAMED[n];
}else if(this.isSystemColor(n)){throw new Error("Could not convert system colors to RGB: "+n);
}else if(this.isRgbString(n)){return this.__dd();
}else if(this.isRgbaString(n)){return this.__de();
}else if(this.isHex3String(n)){return this.__df();
}else if(this.isHex6String(n)){return this.__dg();
}throw new Error("Could not parse color: "+n);
},stringToRgbString:function(o){return this.rgbToRgbString(this.stringToRgb(o));
},rgbToRgbString:function(s){return e+s[0]+h+s[1]+h+s[2]+d;
},rgbToHexString:function(u){return (qx.lang.String.pad(u[0].toString(16).toUpperCase(),2)+qx.lang.String.pad(u[1].toString(16).toUpperCase(),2)+qx.lang.String.pad(u[2].toString(16).toUpperCase(),2));
},isValidPropertyValue:function(v){return this.isThemedColor(v)||this.isNamedColor(v)||this.isHex3String(v)||this.isHex6String(v)||this.isRgbString(v);
},isCssString:function(w){return this.isSystemColor(w)||this.isNamedColor(w)||this.isHex3String(w)||this.isHex6String(w)||this.isRgbString(w);
},isHex3String:function(x){return this.REGEXP.hex3.test(x);
},isHex6String:function(y){return this.REGEXP.hex6.test(y);
},isRgbString:function(z){return this.REGEXP.rgb.test(z);
},isRgbaString:function(A){return this.REGEXP.rgba.test(A);
},__dd:function(){var D=parseInt(RegExp.$1,10);
var C=parseInt(RegExp.$2,10);
var B=parseInt(RegExp.$3,10);
return [D,C,B];
},__de:function(){var G=parseInt(RegExp.$1,10);
var F=parseInt(RegExp.$2,10);
var E=parseInt(RegExp.$3,10);
return [G,F,E];
},__df:function(){var J=parseInt(RegExp.$1,16)*17;
var I=parseInt(RegExp.$2,16)*17;
var H=parseInt(RegExp.$3,16)*17;
return [J,I,H];
},__dg:function(){var M=(parseInt(RegExp.$1,16)*16)+parseInt(RegExp.$2,16);
var L=(parseInt(RegExp.$3,16)*16)+parseInt(RegExp.$4,16);
var K=(parseInt(RegExp.$5,16)*16)+parseInt(RegExp.$6,16);
return [M,L,K];
},hex3StringToRgb:function(N){if(this.isHex3String(N)){return this.__df(N);
}throw new Error("Invalid hex3 value: "+N);
},hex6StringToRgb:function(O){if(this.isHex6String(O)){return this.__dg(O);
}throw new Error("Invalid hex6 value: "+O);
},hexStringToRgb:function(P){if(this.isHex3String(P)){return this.__df(P);
}
if(this.isHex6String(P)){return this.__dg(P);
}throw new Error("Invalid hex value: "+P);
},rgbToHsb:function(Q){var S,T,V;
var bc=Q[0];
var Y=Q[1];
var R=Q[2];
var bb=(bc>Y)?bc:Y;

if(R>bb){bb=R;
}var U=(bc<Y)?bc:Y;

if(R<U){U=R;
}V=bb/255.0;

if(bb!=0){T=(bb-U)/bb;
}else{T=0;
}
if(T==0){S=0;
}else{var X=(bb-bc)/(bb-U);
var ba=(bb-Y)/(bb-U);
var W=(bb-R)/(bb-U);

if(bc==bb){S=W-ba;
}else if(Y==bb){S=2.0+X-W;
}else{S=4.0+ba-X;
}S=S/6.0;

if(S<0){S=S+1.0;
}}return [Math.round(S*360),Math.round(T*100),Math.round(V*100)];
},hsbToRgb:function(bd){var i,f,p,q,t;
var be=bd[0]/360;
var bf=bd[1]/100;
var bg=bd[2]/100;

if(be>=1.0){be%=1.0;
}
if(bf>1.0){bf=1.0;
}
if(bg>1.0){bg=1.0;
}var bh=Math.floor(255*bg);
var bi={};

if(bf==0.0){bi.red=bi.green=bi.blue=bh;
}else{be*=6.0;
i=Math.floor(be);
f=be-i;
p=Math.floor(bh*(1.0-bf));
q=Math.floor(bh*(1.0-(bf*f)));
t=Math.floor(bh*(1.0-(bf*(1.0-f))));

switch(i){case 0:bi.red=bh;
bi.green=t;
bi.blue=p;
break;
case 1:bi.red=q;
bi.green=bh;
bi.blue=p;
break;
case 2:bi.red=p;
bi.green=bh;
bi.blue=t;
break;
case 3:bi.red=p;
bi.green=q;
bi.blue=bh;
break;
case 4:bi.red=t;
bi.green=p;
bi.blue=bh;
break;
case 5:bi.red=bh;
bi.green=p;
bi.blue=q;
break;
}}return [bi.red,bi.green,bi.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="__dh",f="_applyTheme",e="qx.theme.manager.Decoration",d="Theme",c="changeTheme",b="string",a="singleton";
qx.Class.define(e,{type:a,extend:qx.core.Object,properties:{theme:{check:d,nullable:true,apply:f,event:c}},members:{__dh:null,resolve:function(i){if(!i){return null;
}
if(typeof i===h){return i;
}var n=this.getTheme();

if(!n){return null;
}var k=this.__dh;

if(!k){k=this.__dh={};
}var j=k[i];

if(j){return j;
}var p=n.decorations[i];

if(!p){return null;
}if(!p.style){p.style={};
}var l=p;

while(l.include){l=n.decorations[l.include];
if(!p.decorator&&l.decorator){p.decorator=l.decorator;
}if(l.style){for(var o in l.style){if(!p.style[o]){p.style[o]=l.style[o];
}}}}var m=p.decorator;

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

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

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

if(n[k]===false){return k;
}else if(n[k]===undefined){if(k.charAt(0)===j||k.charAt(0)===b||k.indexOf(g)===0||k.indexOf(f)===i||k.indexOf(e)===0){n[k]=false;
return k;
}
if(this.__di[k]){return this.__di[k];
}var m=k.substring(0,k.indexOf(j));
var l=this.__di[m];

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

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

if(i){return i;
}var j=this.getTheme();

if(j!==null&&j.fonts[h]){return k[h]=(new qx.bom.Font).set(j.fonts[h]);
}return h;
},isDynamic:function(l){var n=this._dynamic;

if(l&&(l instanceof qx.bom.Font||n[l]!==undefined)){return true;
}var m=this.getTheme();

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

for(var v in s){if(s[v].themed){s[v].dispose();
delete s[v];
}}
if(r){var t=r.fonts;
var u=qx.bom.Font;

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

if(y!==undefined){this.setSize(y);
}
if(z!==undefined){this.setFamily(z);
}},statics:{fromString:function(A){var E=new qx.bom.Font();
var C=A.split(/\s+/);
var name=[];
var D;

for(var i=0;i<C.length;i++){switch(D=C[i]){case c:E.setBold(true);
break;
case e:E.setItalic(true);
break;
case j:E.setDecoration(j);
break;
default:var B=parseInt(D,10);

if(B==D||qx.lang.String.contains(D,g)){E.setSize(B);
}else{name.push(D);
}break;
}}
if(name.length>0){E.setFamily(name);
}return E;
},fromConfig:function(F){var G=new qx.bom.Font;
G.set(F);
return G;
},__dk:{fontFamily:k,fontSize:k,fontWeight:k,fontStyle:k,textDecoration:k,lineHeight:1.2},getDefaultStyles:function(){return this.__dk;
}},properties:{size:{check:x,nullable:true,apply:m},lineHeight:{check:q,nullable:true,apply:v},family:{check:u,nullable:true,apply:w},bold:{check:h,nullable:true,apply:a},italic:{check:h,nullable:true,apply:b},decoration:{check:[j,s,t],nullable:true,apply:p}},members:{__dl:null,__dm:null,__dn:null,__do:null,__dp:null,__dq:null,_applySize:function(H,I){this.__dl=H===null?null:H+g;
},_applyLineHeight:function(J,K){this.__dq=J===null?null:J;
},_applyFamily:function(L,M){var N=k;

for(var i=0,l=L.length;i<l;i++){if(L[i].indexOf(o)>0){N+=f+L[i]+f;
}else{N+=L[i];
}
if(i!==l-1){N+=n;
}}this.__dm=N;
},_applyBold:function(O,P){this.__dn=O===null?null:O?c:d;
},_applyItalic:function(Q,R){this.__do=Q===null?null:Q?e:d;
},_applyDecoration:function(S,T){this.__dp=S===null?null:S;
},getStyles:function(){return {fontFamily:this.__dm,fontSize:this.__dl,fontWeight:this.__dn,fontStyle:this.__do,textDecoration:this.__dp,lineHeight:this.__dq};
}}});
})();
(function(){var g="qx.bom.client.Feature",f="CSS1Compat",d="label",c="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",b="input",a="pointerEvents";
qx.Bootstrap.define(g,{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:false,XUL:false,CSS_TEXT_OVERFLOW:("textOverflow" in document.documentElement.style||"OTextOverflow" in document.documentElement.style),HTML5_CLASSLIST:!!(document.documentElement.classList&&qx.Bootstrap.getClass(document.documentElement.classList)==="DOMTokenList"),TOUCH:("ontouchstart" in window),PLACEHOLDER:false,__dr:function(){this.QUIRKS_MODE=this.__ds();
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;

try{document.createElementNS(c,d);
this.XUL=true;
}catch(e){this.XUL=false;
}var i=document.createElement(b);
this.PLACEHOLDER="placeholder" in i;
if(a in document.documentElement.style){if(qx.bom.client.Engine.OPERA){this.CSS_POINTER_EVENTS=false;
}else{this.CSS_POINTER_EVENTS=true;
}}},__ds: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!==f;
}}},defer:function(h){h.__dr();
}});
})();
(function(){var a="qx.lang.Object";
qx.Class.define(a,{statics:{empty:function(b){{};

for(var c in b){if(b.hasOwnProperty(c)){delete b[c];
}}},isEmpty:(qx.bom.client.Feature.ECMA_OBJECT_COUNT)?
function(d){{};
return d.__count__===0;
}:
function(e){{};

for(var f in e){return false;
}return true;
},hasMinLength:(qx.bom.client.Feature.ECMA_OBJECT_COUNT)?
function(g,h){{};
return g.__count__>=h;
}:
function(j,k){{};

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

for(var m in j){if((++length)>=k){return true;
}}return false;
},getLength:qx.Bootstrap.objectGetLength,getKeys:qx.Bootstrap.getKeys,getKeysAsString:qx.Bootstrap.getKeysAsString,getValues:function(n){{};
var p=[];
var o=this.getKeys(n);

for(var i=0,l=o.length;i<l;i++){p.push(n[o[i]]);
}return p;
},mergeWith:qx.Bootstrap.objectMergeWith,carefullyMergeWith:function(q,r){{};
return qx.lang.Object.mergeWith(q,r,false);
},merge:function(s,t){{};
var u=arguments.length;

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

for(var x in v){w[x]=v[x];
}return w;
},invert:function(y){{};
var z={};

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

for(var D in B){if(B.hasOwnProperty(D)&&B[D]===C){return D;
}}return null;
},contains:function(E,F){{};
return this.getKeyFromValue(E,F)!==null;
},select:function(G,H){{};
return H[G];
},fromArray:function(I){{};
var J={};

for(var i=0,l=I.length;i<l;i++){{};
J[I[i].toString()]=true;
}return J;
}}});
})();
(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 h="string",g="_applyTheme",f="qx.theme.manager.Appearance",e=":",d="Theme",c="changeTheme",b="/",a="singleton";
qx.Class.define(f,{type:a,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__dt={};
this.__du={};
},properties:{theme:{check:d,nullable:true,event:c,apply:g}},members:{__dv:{},__dt:null,__du:null,_applyTheme:function(j,k){this.__du={};
this.__dt={};
},__dw:function(l,m,n){var s=m.appearances;
var v=s[l];

if(!v){var w=b;
var p=[];
var u=l.split(w);
var t;

while(!v&&u.length>0){p.unshift(u.pop());
var q=u.join(w);
v=s[q];

if(v){t=v.alias||v;

if(typeof t===h){var r=t+w+p.join(w);
return this.__dw(r,m,n);
}}}for(var i=0;i<p.length-1;i++){p.shift();
var q=p.join(w);
var o=this.__dw(q,m);

if(o){return o;
}}if(n!=null){return this.__dw(n,m);
}return null;
}else if(typeof v===h){return this.__dw(v,m,n);
}else if(v.include&&!v.style){return this.__dw(v.include,m,n);
}return l;
},styleFrom:function(x,y,z,A){if(!z){z=this.getTheme();
}var G=this.__du;
var B=G[x];

if(!B){B=G[x]=this.__dw(x,z,A);
}var L=z.appearances[B];

if(!L){this.warn("Missing appearance: "+x);
return null;
}if(!L.style){return null;
}var M=B;

if(y){var N=L.$$bits;

if(!N){N=L.$$bits={};
L.$$length=0;
}var E=0;

for(var H in y){if(!y[H]){continue;
}
if(N[H]==null){N[H]=1<<L.$$length++;
}E+=N[H];
}if(E>0){M+=e+E;
}}var F=this.__dt;

if(F[M]!==undefined){return F[M];
}if(!y){y=this.__dv;
}var J;
if(L.include||L.base){var D=L.style(y);
var C;

if(L.include){C=this.styleFrom(L.include,y,z,A);
}J={};
if(L.base){var I=this.styleFrom(B,y,L.base,A);

if(L.include){for(var K in I){if(!C.hasOwnProperty(K)&&!D.hasOwnProperty(K)){J[K]=I[K];
}}}else{for(var K in I){if(!D.hasOwnProperty(K)){J[K]=I[K];
}}}}if(L.include){for(var K in C){if(!D.hasOwnProperty(K)){J[K]=C[K];
}}}for(var K in D){J[K]=D[K];
}}else{J=L.style(y);
}return F[M]=J||null;
}},destruct:function(){this.__dt=this.__du=null;
}});
})();
(function(){var p="other",o="widgets",n="fonts",m="appearances",k="qx.Theme",j="]",h="[Theme ",g="colors",f="decorations",e="Theme",b="meta",d="borders",c="icons";
qx.Bootstrap.define(k,{statics:{define:function(name,q){if(!q){var q={};
}q.include=this.__dx(q.include);
q.patch=this.__dx(q.patch);
{};
var r={$$type:e,name:name,title:q.title,toString:this.genericToString};
if(q.extend){r.supertheme=q.extend;
}r.basename=qx.Bootstrap.createNamespace(name,r);
this.__dA(r,q);
this.__dy(r,q);
this.$$registry[name]=r;
for(var i=0,a=q.include,l=a.length;i<l;i++){this.include(r,a[i]);
}
for(var i=0,a=q.patch,l=a.length;i<l;i++){this.patch(r,a[i]);
}},__dx:function(s){if(!s){return [];
}
if(qx.Bootstrap.isArray(s)){return s;
}else{return [s];
}},__dy:function(t,u){var v=u.aliases||{};

if(u.extend&&u.extend.aliases){qx.Bootstrap.objectMergeWith(v,u.extend.aliases,false);
}t.aliases=v;
},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 h+this.name+j;
},__dz:function(w){for(var i=0,x=this.__dB,l=x.length;i<l;i++){if(w[x[i]]){return x[i];
}}},__dA:function(y,z){var C=this.__dz(z);
if(z.extend&&!C){C=z.extend.type;
}y.type=C||p;
if(!C){return;
}var E=function(){};
if(z.extend){E.prototype=new z.extend.$$clazz;
}var D=E.prototype;
var B=z[C];
for(var A in B){D[A]=B[A];
if(D[A].base){{};
D[A].base=z.extend;
}}y.$$clazz=E;
y[C]=new E;
},$$registry:{},__dB:[g,d,f,n,c,o,m,b],__dC:null,__dD:null,__dE:function(){},patch:function(F,G){var I=this.__dz(G);

if(I!==this.__dz(F)){throw new Error("The mixins '"+F.name+"' are not compatible '"+G.name+"'!");
}var H=G[I];
var J=F.$$clazz.prototype;

for(var K in H){J[K]=H[K];
}},include:function(L,M){var O=M.type;

if(O!==L.type){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){if(P[Q]!==undefined){continue;
}P[Q]=N[Q];
}}}});
})();
(function(){var p="Boolean",o="focusout",n="interval",m="mouseover",l="mouseout",k="mousemove",j="widget",i="qx.ui.tooltip.ToolTip",h="__dI",g="__dG",c="_applyCurrent",f="qx.ui.tooltip.Manager",d="__dF",b="tooltip-error",a="singleton";
qx.Class.define(f,{type:a,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
qx.event.Registration.addListener(document.body,m,this.__dP,this,true);
this.__dF=new qx.event.Timer();
this.__dF.addListener(n,this.__dM,this);
this.__dG=new qx.event.Timer();
this.__dG.addListener(n,this.__dN,this);
this.__dH={left:0,top:0};
},properties:{current:{check:i,nullable:true,apply:c},showInvalidToolTips:{check:p,init:true},showToolTips:{check:p,init:true}},members:{__dH:null,__dG:null,__dF:null,__dI:null,__dJ:null,__dK:function(){if(!this.__dI){this.__dI=new qx.ui.tooltip.ToolTip().set({rich:true});
}return this.__dI;
},__dL:function(){if(!this.__dJ){this.__dJ=new qx.ui.tooltip.ToolTip().set({appearance:b});
this.__dJ.syncAppearance();
}return this.__dJ;
},_applyCurrent:function(q,r){if(r&&qx.ui.core.Widget.contains(r,q)){return;
}if(r){if(!r.isDisposed()){r.exclude();
}this.__dF.stop();
this.__dG.stop();
}var t=qx.event.Registration;
var s=document.body;
if(q){this.__dF.startWith(q.getShowTimeout());
t.addListener(s,l,this.__dQ,this,true);
t.addListener(s,o,this.__dR,this,true);
t.addListener(s,k,this.__dO,this,true);
}else{t.removeListener(s,l,this.__dQ,this,true);
t.removeListener(s,o,this.__dR,this,true);
t.removeListener(s,k,this.__dO,this,true);
}},__dM:function(e){var u=this.getCurrent();

if(u&&!u.isDisposed()){this.__dG.startWith(u.getHideTimeout());

if(u.getPlaceMethod()==j){u.placeToWidget(u.getOpener());
}else{u.placeToPoint(this.__dH);
}u.show();
}this.__dF.stop();
},__dN:function(e){var v=this.getCurrent();

if(v&&!v.isDisposed()){v.exclude();
}this.__dG.stop();
this.resetCurrent();
},__dO:function(e){var w=this.__dH;
w.left=e.getDocumentLeft();
w.top=e.getDocumentTop();
},__dP:function(e){var z=qx.ui.core.Widget.getWidgetByElement(e.getTarget());

if(!z){return;
}var A,B,y,x;
while(z!=null){A=z.getToolTip();
B=z.getToolTipText()||null;
y=z.getToolTipIcon()||null;

if(qx.Class.hasInterface(z.constructor,qx.ui.form.IForm)&&!z.isValid()){x=z.getInvalidMessage();
}
if(A||B||y||x){break;
}z=z.getLayoutParent();
}if(!z||
!z.getEnabled()||
z.isBlockToolTip()||
(!x&&!this.getShowToolTips())||(x&&!this.getShowInvalidToolTips())){return;
}
if(x){A=this.__dL().set({label:x});
}
if(!A){A=this.__dK().set({label:B,icon:y});
}this.setCurrent(A);
A.setOpener(z);
},__dQ:function(e){var C=qx.ui.core.Widget.getWidgetByElement(e.getTarget());

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

if(!D){return;
}var E=this.getCurrent();
if(E&&(D==E||qx.ui.core.Widget.contains(E,D))){return;
}if(D&&C&&qx.ui.core.Widget.contains(C,D)){return;
}if(E&&!D){this.setCurrent(null);
}else{this.resetCurrent();
}},__dR: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,m,this.__dP,this,true);
this._disposeObjects(d,g,h);
this.__dH=null;
}});
})();
(function(){var h="interval",g="qx.event.Timer",f="_applyInterval",d="_applyEnabled",c="Boolean",b="qx.event.type.Event",a="Integer";
qx.Class.define(g,{extend:qx.core.Object,construct:function(i){qx.core.Object.call(this);
this.setEnabled(false);

if(i!=null){this.setInterval(i);
}var self=this;
this.__dS=function(){self._oninterval.call(self);
};
},events:{"interval":b},statics:{once:function(j,k,l){var m=new qx.event.Timer(l);
m.__dT=j;
m.addListener(h,function(e){m.stop();
j.call(k,e);
m.dispose();
k=null;
},k);
m.start();
return m;
}},properties:{enabled:{init:true,check:c,apply:d},interval:{check:a,init:1000,apply:f}},members:{__dU:null,__dS:null,_applyInterval:function(n,o){if(this.getEnabled()){this.restart();
}},_applyEnabled:function(p,q){if(q){window.clearInterval(this.__dU);
this.__dU=null;
}else if(p){this.__dU=window.setInterval(this.__dS,this.getInterval());
}},start:function(){this.setEnabled(true);
},startWith:function(r){this.setInterval(r);
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(h);
}})},destruct:function(){if(this.__dU){window.clearInterval(this.__dU);
}this.__dU=this.__dS=null;
}});
})();
(function(){var j="Integer",i="interval",h="keep-align",g="disappear",f="best-fit",e="mouse",d="bottom-left",c="direct",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,{statics:{__dV:null,setVisibleElement:function(y){this.__dV=y;
},getVisibleElement:function(){return this.__dV;
}},properties:{position:{check:[r,o,d,a,v,l,k,n],init:d,themeable:true},placeMethod:{check:[x,e],init:e,themeable:true},domMove:{check:b,init:false},placementModeX:{check:[c,h,f],init:h,themeable:true},placementModeY:{check:[c,h,f],init:h,themeable:true},offsetLeft:{check:j,init:0,themeable:true},offsetTop:{check:j,init:0,themeable:true},offsetRight:{check:j,init:0,themeable:true},offsetBottom:{check:j,init:0,themeable:true},offset:{group:[m,u,p,s],mode:t,themeable:true}},members:{__dW:null,__dX:null,__dY:null,getLayoutLocation:function(z){var C,B,D,top;
B=z.getBounds();
D=B.left;
top=B.top;
var E=B;
z=z.getLayoutParent();

while(z&&!z.isRootWidget()){B=z.getBounds();
D+=B.left;
top+=B.top;
C=z.getInsets();
D+=C.left;
top+=C.top;
z=z.getLayoutParent();
}if(z.isRootWidget()){var A=z.getContainerLocation();

if(A){D+=A.left;
top+=A.top;
}}return {left:D,top:top,right:D+E.width,bottom:top+E.height};
},moveTo:function(F,top){var H=qx.ui.core.MPlacement.getVisibleElement();
if(H){var J=this.getBounds();
var G=H.getContentLocation();
if(J&&G){var K=top+J.height;
var I=F+J.width;
if((I>G.left&&F<G.right)&&(K>G.top&&top<G.bottom)){F=Math.max(G.left-J.width,0);
}}}
if(this.getDomMove()){this.setDomPosition(F,top);
}else{this.setLayoutProperties({left:F,top:top});
}},placeToWidget:function(L,M){if(M){this.__ea();
this.__dW=qx.lang.Function.bind(this.placeToWidget,this,L,false);
qx.event.Idle.getInstance().addListener(i,this.__dW);
this.__dY=function(){this.__ea();
};
this.addListener(g,this.__dY,this);
}var N=L.getContainerLocation()||this.getLayoutLocation(L);
this.__ec(N);
},__ea:function(){if(this.__dW){qx.event.Idle.getInstance().removeListener(i,this.__dW);
this.__dW=null;
}
if(this.__dY){this.removeListener(g,this.__dY,this);
this.__dY=null;
}},placeToMouse:function(event){var P=event.getDocumentLeft();
var top=event.getDocumentTop();
var O={left:P,top:top,right:P,bottom:top};
this.__ec(O);
},placeToElement:function(Q,R){var location=qx.bom.element.Location.get(Q);
var S={left:location.left,top:location.top,right:location.left+Q.offsetWidth,bottom:location.top+Q.offsetHeight};
if(R){this.__dW=qx.lang.Function.bind(this.placeToElement,this,Q,false);
qx.event.Idle.getInstance().addListener(i,this.__dW);
this.addListener(g,function(){if(this.__dW){qx.event.Idle.getInstance().removeListener(i,this.__dW);
this.__dW=null;
}},this);
}this.__ec(S);
},placeToPoint:function(T){var U={left:T.left,top:T.top,right:T.left,bottom:T.top};
this.__ec(U);
},_getPlacementOffsets:function(){return {left:this.getOffsetLeft(),top:this.getOffsetTop(),right:this.getOffsetRight(),bottom:this.getOffsetBottom()};
},__eb:function(V){var W=null;

if(this._computePlacementSize){var W=this._computePlacementSize();
}else if(this.isVisible()){var W=this.getBounds();
}
if(W==null){this.addListenerOnce(q,function(){this.__eb(V);
},this);
}else{V.call(this,W);
}},__ec:function(X){this.__eb(function(Y){var ba=qx.util.placement.Placement.compute(Y,this.getLayoutParent().getBounds(),X,this._getPlacementOffsets(),this.getPosition(),this.getPlacementModeX(),this.getPlacementModeY());
this.moveTo(ba.left,ba.top);
});
}},destruct:function(){this.__ea();
}});
})();
(function(){var a="qx.ui.core.MChildrenHandling";
qx.Mixin.define(a,{members:{getChildren:function(){return this._getChildren();
},hasChildren:function(){return this._hasChildren();
},indexOf:function(b){return this._indexOf(b);
},add:function(c,d){this._add(c,d);
},addAt:function(e,f,g){this._addAt(e,f,g);
},addBefore:function(h,i,j){this._addBefore(h,i,j);
},addAfter:function(k,l,m){this._addAfter(k,l,m);
},remove:function(n){this._remove(n);
},removeAt:function(o){return this._removeAt(o);
},removeAll:function(){this._removeAll();
}},statics:{remap:function(p){p.getChildren=p._getChildren;
p.hasChildren=p._hasChildren;
p.indexOf=p._indexOf;
p.add=p._add;
p.addAt=p._addAt;
p.addBefore=p._addBefore;
p.addAfter=p._addAfter;
p.remove=p._remove;
p.removeAt=p._removeAt;
p.removeAll=p._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:{__ed:null,__ee:null,__ef:null,__eg:null,__eh:null,__ei:null,__ej:null,getBounds:function(){return this.__ei||this.__ee||null;
},clearSeparators:function(){},renderSeparator:function(y,z){},renderLayout:function(A,top,B,C){var D;
{};
var E=null;

if(this.getHeight()==null&&this._hasHeightForWidth()){var E=this._getHeightForWidth(B);
}
if(E!=null&&E!==this.__ed){this.__ed=E;
qx.ui.core.queue.Layout.add(this);
return null;
}var G=this.__ee;

if(!G){G=this.__ee={};
}var F={};

if(A!==G.left||top!==G.top){F.position=true;
G.left=A;
G.top=top;
}
if(B!==G.width||C!==G.height){F.size=true;
G.width=B;
G.height=C;
}if(this.__ef){F.local=true;
delete this.__ef;
}
if(this.__eh){F.margin=true;
delete this.__eh;
}return F;
},isExcluded:function(){return false;
},hasValidLayout:function(){return !this.__ef;
},scheduleLayoutUpdate:function(){qx.ui.core.queue.Layout.add(this);
},invalidateLayoutCache:function(){this.__ef=true;
this.__eg=null;
},getSizeHint:function(H){var I=this.__eg;

if(I){return I;
}
if(H===false){return null;
}I=this.__eg=this._computeSizeHint();
if(this._hasHeightForWidth()&&this.__ed&&this.getHeight()==null){I.height=this.__ed;
}if(I.minWidth>I.width){I.width=I.minWidth;
}
if(I.maxWidth<I.width){I.width=I.maxWidth;
}
if(!this.getAllowGrowX()){I.maxWidth=I.width;
}
if(!this.getAllowShrinkX()){I.minWidth=I.width;
}if(I.minHeight>I.height){I.height=I.minHeight;
}
if(I.maxHeight<I.height){I.height=I.maxHeight;
}
if(!this.getAllowGrowY()){I.maxHeight=I.height;
}
if(!this.getAllowShrinkY()){I.minHeight=I.height;
}return I;
},_computeSizeHint:function(){var N=this.getMinWidth()||0;
var K=this.getMinHeight()||0;
var O=this.getWidth()||N;
var M=this.getHeight()||K;
var J=this.getMaxWidth()||Infinity;
var L=this.getMaxHeight()||Infinity;
return {minWidth:N,width:O,maxWidth:J,minHeight:K,height:M,maxHeight:L};
},_hasHeightForWidth:function(){var P=this._getLayout();

if(P){return P.hasHeightForWidth();
}return false;
},_getHeightForWidth:function(Q){var R=this._getLayout();

if(R&&R.hasHeightForWidth()){return R.getHeightForWidth(Q);
}return null;
},_getLayout:function(){return null;
},_applyMargin:function(){this.__eh=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.__ei;
},setUserBounds:function(S,top,T,U){this.__ei={left:S,top:top,width:T,height:U};
qx.ui.core.queue.Layout.add(this);
},resetUserBounds:function(){delete this.__ei;
qx.ui.core.queue.Layout.add(this);
},__ek:{},setLayoutProperties:function(V){if(V==null){return;
}var W=this.__ej;

if(!W){W=this.__ej={};
}var parent=this.getLayoutParent();

if(parent){parent.updateLayoutProperties(V);
}for(var X in V){if(V[X]==null){delete W[X];
}else{W[X]=V[X];
}}},getLayoutProperties:function(){return this.__ej||this.__ek;
},clearLayoutProperties:function(){delete this.__ej;
},updateLayoutProperties:function(Y){var ba=this._getLayout();

if(ba){var bb;
{};
ba.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 bc=qx.core.Object.prototype.clone.call(this);
var bd=this.__ej;

if(bd){bc.__ej=qx.lang.Object.clone(bd);
}return bc;
}},destruct:function(){this.$$parent=this.$$subparent=this.__ej=this.__ee=this.__ei=this.__eg=null;
}});
})();
(function(){var b="qx.ui.core.DecoratorFactory",a="$$nopool$$";
qx.Class.define(b,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__el={};
},statics:{MAX_SIZE:15,__em:a},members:{__el:null,getDecoratorElement:function(c){var h=qx.ui.core.DecoratorFactory;

if(qx.lang.Type.isString(c)){var f=c;
var e=qx.theme.manager.Decoration.getInstance().resolve(c);
}else{var f=h.__em;
e=c;
}var g=this.__el;

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

if(j==l.__em){i.dispose();
return;
}var k=this.__el;

if(!k[j]){k[j]=[];
}
if(k[j].length>l.MAX_SIZE){i.dispose();
}else{i.$$pooled=true;
k[j].push(i);
}},_createDecoratorElement:function(m,n){var o=new qx.html.Decorator(m,n);
{};
return o;
},toString:function(){return qx.core.Object.prototype.toString.call(this);
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){var q=this.__el;

for(var p in q){qx.util.DisposeUtil.disposeArray(q,p);
}}this.__el=null;
}});
})();
(function(){var bV="px",bU="Boolean",bT="qx.event.type.Drag",bS="qx.event.type.Mouse",bR="visible",bQ="qx.event.type.Focus",bP="on",bO="Integer",bN="qx.event.type.Touch",bM="excluded",bx="qx.event.type.Data",bw="_applyPadding",bv="qx.event.type.Event",bu="hidden",bt="contextmenu",bs="String",br="tabIndex",bq="focused",bp="changeVisibility",bo="mshtml",cd="hovered",ce="qx.event.type.KeySequence",cb="qx.client",cc="absolute",bY="backgroundColor",ca="drag",bW="div",bX="disabled",cf="move",cg="dragstart",bF="qx.dynlocale",bE="dragchange",bH="dragend",bG="resize",bJ="Decorator",bI="zIndex",bL="opacity",bK="default",bD="Color",bC="changeToolTipText",c="beforeContextmenuOpen",d="_applyNativeContextMenu",f="_applyBackgroundColor",g="_applyFocusable",h="changeShadow",j="__es",k="qx.event.type.KeyInput",m="createChildControl",n="__ey",o="Font",ck="_applyShadow",cj="_applyEnabled",ci="_applySelectable",ch="Number",co="_applyKeepActive",cn="__er",cm="_applyVisibility",cl="repeat",cq="qxDraggable",cp="syncAppearance",N="paddingLeft",O="_applyDroppable",L="__eA",M="#",R="qx.event.type.MouseWheel",S="_applyCursor",P="_applyDraggable",Q="changeTextColor",J="$$widget",K="changeContextMenu",w="paddingTop",v="changeSelectable",y="hideFocus",x="none",s="outline",r="_applyAppearance",u="_applyOpacity",t="url(",q=")",p="qx.ui.core.Widget",X="_applyFont",Y="cursor",ba="qxDroppable",bb="__en",T="__ew",U="changeZIndex",V="changeEnabled",W="changeFont",bc="_applyDecorator",bd="_applyZIndex",G="_applyTextColor",F="qx.ui.menu.Menu",E="__eo",D="_applyToolTipText",C="true",B="widget",A="changeDecorator",z="_applyTabIndex",I="changeAppearance",H="shorthand",be="/",bf="",bg="_applyContextMenu",bh="paddingBottom",bi="changeNativeContextMenu",bj="qx.ui.tooltip.ToolTip",bk="qxKeepActive",bl="_applyKeepFocus",bm="paddingRight",bn="changeBackgroundColor",bB="changeLocale",bA="qxKeepFocus",bz="__et",by="qx/static/blank.gif";
qx.Class.define(p,{extend:qx.ui.core.LayoutItem,include:[qx.locale.MTranslation],construct:function(){qx.ui.core.LayoutItem.call(this);
this.__en=this._createContainerElement();
this.__eo=this.__ez();
this.__en.add(this.__eo);
this.initFocusable();
this.initSelectable();
this.initNativeContextMenu();
},events:{appear:bv,disappear:bv,createChildControl:bx,resize:bx,move:bx,syncAppearance:bx,mousemove:bS,mouseover:bS,mouseout:bS,mousedown:bS,mouseup:bS,click:bS,dblclick:bS,contextmenu:bS,beforeContextmenuOpen:bx,mousewheel:R,touchstart:bN,touchend:bN,touchmove:bN,touchcancel:bN,tap:bN,swipe:bN,keyup:ce,keydown:ce,keypress:ce,keyinput:k,focus:bQ,blur:bQ,focusin:bQ,focusout:bQ,activate:bQ,deactivate:bQ,capture:bv,losecapture:bv,drop:bT,dragleave:bT,dragover:bT,drag:bT,dragstart:bT,dragend:bT,dragchange:bT,droprequest:bT},properties:{paddingTop:{check:bO,init:0,apply:bw,themeable:true},paddingRight:{check:bO,init:0,apply:bw,themeable:true},paddingBottom:{check:bO,init:0,apply:bw,themeable:true},paddingLeft:{check:bO,init:0,apply:bw,themeable:true},padding:{group:[w,bm,bh,N],mode:H,themeable:true},zIndex:{nullable:true,init:null,apply:bd,event:U,check:bO,themeable:true},decorator:{nullable:true,init:null,apply:bc,event:A,check:bJ,themeable:true},shadow:{nullable:true,init:null,apply:ck,event:h,check:bJ,themeable:true},backgroundColor:{nullable:true,check:bD,apply:f,event:bn,themeable:true},textColor:{nullable:true,check:bD,apply:G,event:Q,themeable:true,inheritable:true},font:{nullable:true,apply:X,check:o,event:W,themeable:true,inheritable:true,dereference:true},opacity:{check:ch,apply:u,themeable:true,nullable:true,init:null},cursor:{check:bs,apply:S,themeable:true,inheritable:true,nullable:true,init:null},toolTip:{check:bj,nullable:true},toolTipText:{check:bs,nullable:true,event:bC,apply:D},toolTipIcon:{check:bs,nullable:true,event:bC},blockToolTip:{check:bU,init:false},visibility:{check:[bR,bu,bM],init:bR,apply:cm,event:bp},enabled:{init:true,check:bU,inheritable:true,apply:cj,event:V},anonymous:{init:false,check:bU},tabIndex:{check:bO,nullable:true,apply:z},focusable:{check:bU,init:false,apply:g},keepFocus:{check:bU,init:false,apply:bl},keepActive:{check:bU,init:false,apply:co},draggable:{check:bU,init:false,apply:P},droppable:{check:bU,init:false,apply:O},selectable:{check:bU,init:false,event:v,apply:ci},contextMenu:{check:F,apply:bg,nullable:true,event:K},nativeContextMenu:{check:bU,init:false,themeable:true,event:bi,apply:d},appearance:{check:bs,init:B,apply:r,event:I}},statics:{DEBUG:false,getWidgetByElement:function(cr,cs){while(cr){var ct=cr.$$widget;
if(ct!=null){var cu=qx.core.ObjectRegistry.fromHashCode(ct);
if(!cs||!cu.getAnonymous()){return cu;
}}try{cr=cr.parentNode;
}catch(e){return null;
}}return null;
},contains:function(parent,cv){while(cv){if(parent==cv){return true;
}cv=cv.getLayoutParent();
}return false;
},__ep:new qx.ui.core.DecoratorFactory(),__eq:new qx.ui.core.DecoratorFactory()},members:{__en:null,__eo:null,__er:null,__es:null,__et:null,__eu:null,__ev:null,__ew:null,_getLayout:function(){return this.__ew;
},_setLayout:function(cw){{};

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

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

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

if(cA.top!=cz.top||cA.right!=cz.right||cA.bottom!=cz.bottom||cA.left!=cz.left){return true;
}return false;
},renderLayout:function(cB,top,cC,cD){var cM=qx.ui.core.LayoutItem.prototype.renderLayout.call(this,cB,top,cC,cD);
if(!cM){return null;
}var cF=this.getContainerElement();
var content=this.getContentElement();
var cJ=cM.size||this._updateInsets;
var cN=bV;
var cK={};
if(cM.position){cK.left=cB+cN;
cK.top=top+cN;
}if(cM.size){cK.width=cC+cN;
cK.height=cD+cN;
}
if(cM.position||cM.size){cF.setStyles(cK);
}
if(cJ||cM.local||cM.margin){var cE=this.getInsets();
var innerWidth=cC-cE.left-cE.right;
var innerHeight=cD-cE.top-cE.bottom;
innerWidth=innerWidth<0?0:innerWidth;
innerHeight=innerHeight<0?0:innerHeight;
}var cH={};

if(this._updateInsets){cH.left=cE.left+cN;
cH.top=cE.top+cN;
}
if(cJ){cH.width=innerWidth+cN;
cH.height=innerHeight+cN;
}
if(cJ||this._updateInsets){content.setStyles(cH);
}
if(cM.size){var cL=this.__et;

if(cL){cL.setStyles({width:cC+bV,height:cD+bV});
}}
if(cM.size||this._updateInsets){if(this.__er){this.__er.resize(cC,cD);
}}
if(cM.size){if(this.__es){var cE=this.__es.getInsets();
var cI=cC+cE.left+cE.right;
var cG=cD+cE.top+cE.bottom;
this.__es.resize(cI,cG);
}}
if(cJ||cM.local||cM.margin){if(this.__ew&&this.hasLayoutChildren()){this.__ew.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(cM.position&&this.hasListener(cf)){this.fireDataEvent(cf,this.getBounds());
}
if(cM.size&&this.hasListener(bG)){this.fireDataEvent(bG,this.getBounds());
}delete this._updateInsets;
return cM;
},__ey:null,clearSeparators:function(){var cP=this.__ey;

if(!cP){return;
}var cQ=qx.ui.core.Widget.__ep;
var content=this.getContentElement();
var cO;

for(var i=0,l=cP.length;i<l;i++){cO=cP[i];
cQ.poolDecorator(cO);
content.remove(cO);
}cP.length=0;
},renderSeparator:function(cR,cS){var cT=qx.ui.core.Widget.__ep.getDecoratorElement(cR);
this.getContentElement().add(cT);
cT.resize(cS.width,cS.height);
cT.setStyles({left:cS.left+bV,top:cS.top+bV});
if(!this.__ey){this.__ey=[cT];
}else{this.__ey.push(cT);
}},_computeSizeHint:function(){var db=this.getWidth();
var da=this.getMinWidth();
var cV=this.getMaxWidth();
var cY=this.getHeight();
var cW=this.getMinHeight();
var cX=this.getMaxHeight();
{};
var dc=this._getContentHint();
var cU=this.getInsets();
var de=cU.left+cU.right;
var dd=cU.top+cU.bottom;

if(db==null){db=dc.width+de;
}
if(cY==null){cY=dc.height+dd;
}
if(da==null){da=de;

if(dc.minWidth!=null){da+=dc.minWidth;
}}
if(cW==null){cW=dd;

if(dc.minHeight!=null){cW+=dc.minHeight;
}}
if(cV==null){if(dc.maxWidth==null){cV=Infinity;
}else{cV=dc.maxWidth+de;
}}
if(cX==null){if(dc.maxHeight==null){cX=Infinity;
}else{cX=dc.maxHeight+dd;
}}return {width:db,minWidth:da,maxWidth:cV,height:cY,minHeight:cW,maxHeight:cX};
},invalidateLayoutCache:function(){qx.ui.core.LayoutItem.prototype.invalidateLayoutCache.call(this);

if(this.__ew){this.__ew.invalidateLayoutCache();
}},_getContentHint:function(){var dg=this.__ew;

if(dg){if(this.hasLayoutChildren()){var df;
var dh=dg.getSizeHint();
{};
return dh;
}else{return {width:0,height:0};
}}else{return {width:100,height:50};
}},_getHeightForWidth:function(di){var dm=this.getInsets();
var dq=dm.left+dm.right;
var dp=dm.top+dm.bottom;
var dn=di-dq;
var dk=this._getLayout();

if(dk&&dk.hasHeightForWidth()){var dj=dk.getHeightForWidth(di);
}else{dj=this._getContentHeightForWidth(dn);
}var dl=dj+dp;
return dl;
},_getContentHeightForWidth:function(dr){throw new Error("Abstract method call: _getContentHeightForWidth()!");
},getInsets:function(){var top=this.getPaddingTop();
var dt=this.getPaddingRight();
var dv=this.getPaddingBottom();
var du=this.getPaddingLeft();

if(this.__er){var ds=this.__er.getInsets();
{};
top+=ds.top;
dt+=ds.right;
dv+=ds.bottom;
du+=ds.left;
}return {"top":top,"right":dt,"bottom":dv,"left":du};
},getInnerSize:function(){var dx=this.getBounds();

if(!dx){return null;
}var dw=this.getInsets();
return {width:dx.width-dw.left-dw.right,height:dx.height-dw.top-dw.bottom};
},show:function(){this.setVisibility(bR);
},hide:function(){this.setVisibility(bu);
},exclude:function(){this.setVisibility(bM);
},isVisible:function(){return this.getVisibility()===bR;
},isHidden:function(){return this.getVisibility()!==bR;
},isExcluded:function(){return this.getVisibility()===bM;
},isSeeable:function(){var dz=this.getContainerElement().getDomElement();

if(dz){return dz.offsetWidth>0;
}var dy=this;

do{if(!dy.isVisible()){return false;
}
if(dy.isRootWidget()){return true;
}dy=dy.getLayoutParent();
}while(dy);
return false;
},_createContainerElement:function(){var dB={"$$widget":this.toHashCode()};
{};
var dA={zIndex:0,position:cc};
return new qx.html.Element(bW,dA,dB);
},__ez:function(){var dC=this._createContentElement();
{};
dC.setStyles({"position":cc,"zIndex":10});
return dC;
},_createContentElement:function(){return new qx.html.Element(bW,{overflowX:bu,overflowY:bu});
},getContainerElement:function(){return this.__en;
},getContentElement:function(){return this.__eo;
},getDecoratorElement:function(){return this.__er||null;
},getShadowElement:function(){return this.__es||null;
},__eA:null,getLayoutChildren:function(){var dE=this.__eA;

if(!dE){return this.__eB;
}var dF;

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

if(dD.hasUserBounds()||dD.isExcluded()){if(dF==null){dF=dE.concat();
}qx.lang.Array.remove(dF,dD);
}}return dF||dE;
},scheduleLayoutUpdate:function(){qx.ui.core.queue.Layout.add(this);
},invalidateLayoutChildren:function(){var dG=this.__ew;

if(dG){dG.invalidateChildrenCache();
}qx.ui.core.queue.Layout.add(this);
},hasLayoutChildren:function(){var dH=this.__eA;

if(!dH){return false;
}var dI;

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

if(!dI.hasUserBounds()&&!dI.isExcluded()){return true;
}}return false;
},getChildrenContainer:function(){return this;
},__eB:[],_getChildren:function(){return this.__eA||this.__eB;
},_indexOf:function(dJ){var dK=this.__eA;

if(!dK){return -1;
}return dK.indexOf(dJ);
},_hasChildren:function(){var dL=this.__eA;
return dL!=null&&(!!dL[0]);
},addChildrenToQueue:function(dM){var dN=this.__eA;

if(!dN){return;
}var dO;

for(var i=0,l=dN.length;i<l;i++){dO=dN[i];
dM[dO.$$hash]=dO;
dO.addChildrenToQueue(dM);
}},_add:function(dP,dQ){if(dP.getLayoutParent()==this){qx.lang.Array.remove(this.__eA,dP);
}
if(this.__eA){this.__eA.push(dP);
}else{this.__eA=[dP];
}this.__eC(dP,dQ);
},_addAt:function(dR,dS,dT){if(!this.__eA){this.__eA=[];
}if(dR.getLayoutParent()==this){qx.lang.Array.remove(this.__eA,dR);
}var dU=this.__eA[dS];

if(dU===dR){dR.setLayoutProperties(dT);
}
if(dU){qx.lang.Array.insertBefore(this.__eA,dR,dU);
}else{this.__eA.push(dR);
}this.__eC(dR,dT);
},_addBefore:function(dV,dW,dX){{};

if(dV==dW){return;
}
if(!this.__eA){this.__eA=[];
}if(dV.getLayoutParent()==this){qx.lang.Array.remove(this.__eA,dV);
}qx.lang.Array.insertBefore(this.__eA,dV,dW);
this.__eC(dV,dX);
},_addAfter:function(dY,ea,eb){{};

if(dY==ea){return;
}
if(!this.__eA){this.__eA=[];
}if(dY.getLayoutParent()==this){qx.lang.Array.remove(this.__eA,dY);
}qx.lang.Array.insertAfter(this.__eA,dY,ea);
this.__eC(dY,eb);
},_remove:function(ec){if(!this.__eA){throw new Error("This widget has no children!");
}qx.lang.Array.remove(this.__eA,ec);
this.__eD(ec);
},_removeAt:function(ed){if(!this.__eA){throw new Error("This widget has no children!");
}var ee=this.__eA[ed];
qx.lang.Array.removeAt(this.__eA,ed);
this.__eD(ee);
return ee;
},_removeAll:function(){if(!this.__eA){return;
}var ef=this.__eA.concat();
this.__eA.length=0;

for(var i=ef.length-1;i>=0;i--){this.__eD(ef[i]);
}qx.ui.core.queue.Layout.add(this);
},_afterAddChild:null,_afterRemoveChild:null,__eC:function(eg,eh){{};
var parent=eg.getLayoutParent();

if(parent&&parent!=this){parent._remove(eg);
}eg.setLayoutParent(this);
if(eh){eg.setLayoutProperties(eh);
}else{this.updateLayoutProperties();
}if(this._afterAddChild){this._afterAddChild(eg);
}},__eD:function(ei){{};

if(ei.getLayoutParent()!==this){throw new Error("Remove Error: "+ei+" is not a child of this widget!");
}ei.setLayoutParent(null);
if(this.__ew){this.__ew.invalidateChildrenCache();
}qx.ui.core.queue.Layout.add(this);
if(this._afterRemoveChild){this._afterRemoveChild(ei);
}},capture:function(ej){this.getContainerElement().capture(ej);
},releaseCapture:function(){this.getContainerElement().releaseCapture();
},_applyPadding:function(ek,em,name){this._updateInsets=true;
qx.ui.core.queue.Layout.add(this);
},_createProtectorElement:function(){if(this.__et){return;
}var en=this.__et=new qx.html.Element;
{};
en.setStyles({position:cc,top:0,left:0,zIndex:7});
var eo=this.getBounds();

if(eo){this.__et.setStyles({width:eo.width+bV,height:eo.height+bV});
}if(qx.core.Variant.isSet(cb,bo)){en.setStyles({backgroundImage:t+qx.util.ResourceManager.getInstance().toUri(by)+q,backgroundRepeat:cl});
}this.getContainerElement().add(en);
},_applyDecorator:function(ep,eq){{};
var et=qx.ui.core.Widget.__ep;
var er=this.getContainerElement();
if(!this.__et&&!qx.bom.client.Feature.CSS_POINTER_EVENTS){this._createProtectorElement();
}if(eq){er.remove(this.__er);
et.poolDecorator(this.__er);
}if(ep){var es=this.__er=et.getDecoratorElement(ep);
es.setStyle(bI,5);
er.add(es);
}else{delete this.__er;
}this._applyBackgroundColor(this.getBackgroundColor());
if(this.__ex(eq,ep)){this._updateInsets=true;
qx.ui.core.queue.Layout.add(this);
}else if(ep){var eu=this.getBounds();

if(eu){es.resize(eu.width,eu.height);
this.__et&&
this.__et.setStyles({width:eu.width+bV,height:eu.height+bV});
}}},_applyShadow:function(ev,ew){var eD=qx.ui.core.Widget.__eq;
var ey=this.getContainerElement();
if(ew){ey.remove(this.__es);
eD.poolDecorator(this.__es);
}if(ev){var eA=this.__es=eD.getDecoratorElement(ev);
ey.add(eA);
var eC=eA.getInsets();
eA.setStyles({left:(-eC.left)+bV,top:(-eC.top)+bV});
var eB=this.getBounds();

if(eB){var ez=eB.width+eC.left+eC.right;
var ex=eB.height+eC.top+eC.bottom;
eA.resize(ez,ex);
}eA.tint(null);
}else{delete this.__es;
}},_applyToolTipText:function(eE,eF){if(qx.core.Variant.isSet(bF,bP)){if(this.__ev){return;
}var eG=qx.locale.Manager.getInstance();
this.__ev=eG.addListener(bB,function(){var eH=this.getToolTipText();

if(eH&&eH.translate){this.setToolTipText(eH.translate());
}},this);
}},_applyTextColor:function(eI,eJ){},_applyZIndex:function(eK,eL){this.getContainerElement().setStyle(bI,eK==null?0:eK);
},_applyVisibility:function(eM,eN){var eO=this.getContainerElement();

if(eM===bR){eO.show();
}else{eO.hide();
}var parent=this.$$parent;

if(parent&&(eN==null||eM==null||eN===bM||eM===bM)){parent.invalidateLayoutChildren();
}qx.ui.core.queue.Visibility.add(this);
},_applyOpacity:function(eP,eQ){this.getContainerElement().setStyle(bL,eP==1?null:eP);
if(qx.core.Variant.isSet(cb,bo)&&qx.bom.element.Decoration.isAlphaImageLoaderEnabled()){if(!qx.Class.isSubClassOf(this.getContentElement().constructor,qx.html.Image)){var eR=(eP==1||eP==null)?null:0.99;
this.getContentElement().setStyle(bL,eR);
}}},_applyCursor:function(eS,eT){if(eS==null&&!this.isSelectable()){eS=bK;
}this.getContainerElement().setStyle(Y,eS,qx.bom.client.Engine.OPERA);
},_applyBackgroundColor:function(eU,eV){var eW=this.getBackgroundColor();
var eY=this.getContainerElement();

if(this.__er){this.__er.tint(eW);
eY.setStyle(bY,null);
}else{var eX=qx.theme.manager.Color.getInstance().resolve(eW);
eY.setStyle(bY,eX);
}},_applyFont:function(fa,fb){},__eE:null,$$stateChanges:null,_forwardStates:null,hasState:function(fc){var fd=this.__eE;
return !!fd&&!!fd[fc];
},addState:function(fe){var ff=this.__eE;

if(!ff){ff=this.__eE={};
}
if(ff[fe]){return;
}this.__eE[fe]=true;
if(fe===cd){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 fi=this.__eH;

if(forward&&forward[fe]&&fi){var fg;

for(var fh in fi){fg=fi[fh];

if(fg instanceof qx.ui.core.Widget){fi[fh].addState(fe);
}}}},removeState:function(fj){var fk=this.__eE;

if(!fk||!fk[fj]){return;
}delete this.__eE[fj];
if(fj===cd){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 fn=this.__eH;

if(forward&&forward[fj]&&fn){for(var fm in fn){var fl=fn[fm];

if(fl instanceof qx.ui.core.Widget){fl.removeState(fj);
}}}},replaceState:function(fo,fp){var fq=this.__eE;

if(!fq){fq=this.__eE={};
}
if(!fq[fp]){fq[fp]=true;
}
if(fq[fo]){delete fq[fo];
}
if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;
}else{qx.ui.core.queue.Appearance.add(this);
}var forward=this._forwardStates;
var ft=this.__eH;

if(forward&&forward[fp]&&ft){for(var fs in ft){var fr=ft[fs];

if(fr instanceof qx.ui.core.Widget){fr.replaceState(fo,fp);
}}}},__eF:null,__eG:null,syncAppearance:function(){var fy=this.__eE;
var fx=this.__eF;
var fz=qx.theme.manager.Appearance.getInstance();
var fv=qx.core.Property.$$method.setThemed;
var fD=qx.core.Property.$$method.resetThemed;
if(this.__eG){delete this.__eG;
if(fx){var fu=fz.styleFrom(fx,fy,null,this.getAppearance());
if(fu){fx=null;
}}}if(!fx){var fw=this;
var fC=[];

do{fC.push(fw.$$subcontrol||fw.getAppearance());
}while(fw=fw.$$subparent);
fx=fC.reverse().join(be).replace(/#[0-9]+/g,bf);
this.__eF=fx;
}var fA=fz.styleFrom(fx,fy,null,this.getAppearance());

if(fA){var fB;

if(fu){for(var fB in fu){if(fA[fB]===undefined){this[fD[fB]]();
}}}{};
for(var fB in fA){fA[fB]===undefined?this[fD[fB]]():this[fv[fB]](fA[fB]);
}}else if(fu){for(var fB in fu){this[fD[fB]]();
}}this.fireDataEvent(cp,this.__eE);
},_applyAppearance:function(fE,fF){this.updateAppearance();
},checkAppearanceNeeds:function(){if(!this.__eu){qx.ui.core.queue.Appearance.add(this);
this.__eu=true;
}else if(this.$$stateChanges){qx.ui.core.queue.Appearance.add(this);
delete this.$$stateChanges;
}},updateAppearance:function(){this.__eG=true;
qx.ui.core.queue.Appearance.add(this);
var fI=this.__eH;

if(fI){var fG;

for(var fH in fI){fG=fI[fH];

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

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

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

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

if(!fK||!fK.getEnabled()){return null;
}}return fK;
},getFocusElement:function(){return this.getContainerElement();
},isTabable:function(){return (!!this.getContainerElement().getDomElement())&&this.isFocusable();
},_applyFocusable:function(fL,fM){var fN=this.getFocusElement();
if(fL){var fO=this.getTabIndex();

if(fO==null){fO=1;
}fN.setAttribute(br,fO);
if(qx.core.Variant.isSet(cb,bo)){fN.setAttribute(y,C);
}else{fN.setStyle(s,x);
}}else{if(fN.isNativelyFocusable()){fN.setAttribute(br,-1);
}else if(fM){fN.setAttribute(br,null);
}}},_applyKeepFocus:function(fP){var fQ=this.getFocusElement();
fQ.setAttribute(bA,fP?bP:null);
},_applyKeepActive:function(fR){var fS=this.getContainerElement();
fS.setAttribute(bk,fR?bP:null);
},_applyTabIndex:function(fT){if(fT==null){fT=1;
}else if(fT<1||fT>32000){throw new Error("TabIndex property must be between 1 and 32000");
}
if(this.getFocusable()&&fT!=null){this.getFocusElement().setAttribute(br,fT);
}},_applySelectable:function(fU,fV){if(fV!==null){this._applyCursor(this.getCursor());
}this.getContentElement().setSelectable(fU);
},_applyEnabled:function(fW,fX){if(fW===false){this.addState(bX);
this.removeState(cd);
if(this.isFocusable()){this.removeState(bq);
this._applyFocusable(false,true);
}if(this.isDraggable()){this._applyDraggable(false,true);
}if(this.isDroppable()){this._applyDroppable(false,true);
}}else{this.removeState(bX);
if(this.isFocusable()){this._applyFocusable(true,false);
}if(this.isDraggable()){this._applyDraggable(true,false);
}if(this.isDroppable()){this._applyDroppable(true,false);
}}},_applyNativeContextMenu:function(fY,ga,name){},_applyContextMenu:function(gb,gc){if(gc){gc.removeState(bt);

if(gc.getOpener()==this){gc.resetOpener();
}
if(!gb){this.removeListener(bt,this._onContextMenuOpen);
gc.removeListener(bp,this._onBeforeContextMenuOpen,this);
}}
if(gb){gb.setOpener(this);
gb.addState(bt);

if(!gc){this.addListener(bt,this._onContextMenuOpen);
gb.addListener(bp,this._onBeforeContextMenuOpen,this);
}}},_onContextMenuOpen:function(e){this.getContextMenu().openAtMouse(e);
e.stop();
},_onBeforeContextMenuOpen:function(e){if(e.getData()==bR&&this.hasListener(c)){this.fireDataEvent(c,e);
}},_onStopEvent:function(e){e.stopPropagation();
},_applyDraggable:function(gd,ge){if(!this.isEnabled()&&gd===true){gd=false;
}qx.ui.core.DragDropCursor.getInstance();
if(gd){this.addListener(cg,this._onDragStart);
this.addListener(ca,this._onDrag);
this.addListener(bH,this._onDragEnd);
this.addListener(bE,this._onDragChange);
}else{this.removeListener(cg,this._onDragStart);
this.removeListener(ca,this._onDrag);
this.removeListener(bH,this._onDragEnd);
this.removeListener(bE,this._onDragChange);
}this.getContainerElement().setAttribute(cq,gd?bP:null);
},_applyDroppable:function(gf,gg){if(!this.isEnabled()&&gf===true){gf=false;
}this.getContainerElement().setAttribute(ba,gf?bP:null);
},_onDragStart:function(e){qx.ui.core.DragDropCursor.getInstance().placeToMouse(e);
this.getApplicationRoot().setGlobalCursor(bK);
},_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 gh=qx.ui.core.DragDropCursor.getInstance();
var gi=e.getCurrentAction();
gi?gh.setAction(gi):gh.resetAction();
},visualizeFocus:function(){this.addState(bq);
},visualizeBlur:function(){this.removeState(bq);
},scrollChildIntoView:function(gj,gk,gl,gm){this.scrollChildIntoViewX(gj,gk,gm);
this.scrollChildIntoViewY(gj,gl,gm);
},scrollChildIntoViewX:function(gn,go,gp){this.getContentElement().scrollChildIntoViewX(gn.getContainerElement(),go,gp);
},scrollChildIntoViewY:function(gq,gr,gs){this.getContentElement().scrollChildIntoViewY(gq.getContainerElement(),gr,gs);
},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(gt){if(!this.__eH){return false;
}return !!this.__eH[gt];
},__eH:null,_getCreatedChildControls:function(){return this.__eH;
},getChildControl:function(gu,gv){if(!this.__eH){if(gv){return null;
}this.__eH={};
}var gw=this.__eH[gu];

if(gw){return gw;
}
if(gv===true){return null;
}return this._createChildControl(gu);
},_showChildControl:function(gx){var gy=this.getChildControl(gx);
gy.show();
return gy;
},_excludeChildControl:function(gz){var gA=this.getChildControl(gz,true);

if(gA){gA.exclude();
}},_isChildControlVisible:function(gB){var gC=this.getChildControl(gB,true);

if(gC){return gC.isVisible();
}return false;
},_createChildControl:function(gD){if(!this.__eH){this.__eH={};
}else if(this.__eH[gD]){throw new Error("Child control '"+gD+"' already created!");
}var gH=gD.indexOf(M);

if(gH==-1){var gE=this._createChildControlImpl(gD);
}else{var gE=this._createChildControlImpl(gD.substring(0,gH),gD.substring(gH+1,gD.length));
}
if(!gE){throw new Error("Unsupported control: "+gD);
}gE.$$subcontrol=gD;
gE.$$subparent=this;
var gF=this.__eE;
var forward=this._forwardStates;

if(gF&&forward&&gE instanceof qx.ui.core.Widget){for(var gG in gF){if(forward[gG]){gE.addState(gG);
}}}this.fireDataEvent(m,gE);
return this.__eH[gD]=gE;
},_createChildControlImpl:function(gI,gJ){return null;
},_disposeChildControls:function(){var gN=this.__eH;

if(!gN){return;
}var gL=qx.ui.core.Widget;

for(var gM in gN){var gK=gN[gM];

if(!gL.contains(this,gK)){gK.destroy();
}else{gK.dispose();
}}delete this.__eH;
},_findTopControl:function(){var gO=this;

while(gO){if(!gO.$$subparent){return gO;
}gO=gO.$$subparent;
}return null;
},getContainerLocation:function(gP){var gQ=this.getContainerElement().getDomElement();
return gQ?qx.bom.element.Location.get(gQ,gP):null;
},getContentLocation:function(gR){var gS=this.getContentElement().getDomElement();
return gS?qx.bom.element.Location.get(gS,gR):null;
},setDomLeft:function(gT){var gU=this.getContainerElement().getDomElement();

if(gU){gU.style.left=gT+bV;
}else{throw new Error("DOM element is not yet created!");
}},setDomTop:function(gV){var gW=this.getContainerElement().getDomElement();

if(gW){gW.style.top=gV+bV;
}else{throw new Error("DOM element is not yet created!");
}},setDomPosition:function(gX,top){var gY=this.getContainerElement().getDomElement();

if(gY){gY.style.left=gX+bV;
gY.style.top=top+bV;
}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 ha=qx.ui.core.LayoutItem.prototype.clone.call(this);

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

for(var i=0,l=hb.length;i<l;i++){ha.add(hb[i].clone());
}}return ha;
}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){if(qx.core.Variant.isSet(bF,bP)){if(this.__ev){qx.locale.Manager.getInstance().removeListenerById(this.__ev);
}}this.getContainerElement().setAttribute(J,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 hd=qx.ui.core.Widget;
var hc=this.getContainerElement();

if(this.__er){hc.remove(this.__er);
hd.__ep.poolDecorator(this.__er);
}
if(this.__es){hc.remove(this.__es);
hd.__eq.poolDecorator(this.__es);
}this.clearSeparators();
this.__er=this.__es=this.__ey=null;
}else{this._disposeArray(n);
this._disposeObjects(cn,j);
}this._disposeArray(L);
this.__eE=this.__eH=null;
this._disposeObjects(T,bb,E,bz);
}});
})();
(function(){var d="qx.event.type.Data",c="qx.ui.container.Composite",b="addChildWidget",a="removeChildWidget";
qx.Class.define(c,{extend:qx.ui.core.Widget,include:[qx.ui.core.MChildrenHandling,qx.ui.core.MLayoutHandling],construct:function(e){qx.ui.core.Widget.call(this);

if(e!=null){this._setLayout(e);
}},events:{addChildWidget:d,removeChildWidget:d},members:{_afterAddChild:function(f){this.fireNonBubblingEvent(b,qx.event.type.Data,[f]);
},_afterRemoveChild:function(g){this.fireNonBubblingEvent(a,qx.event.type.Data,[g]);
}},defer:function(h,i){qx.ui.core.MChildrenHandling.remap(i);
qx.ui.core.MLayoutHandling.remap(i);
}});
})();
(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(f){qx.ui.container.Composite.call(this,f);
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(g,h){qx.ui.container.Composite.prototype._applyVisibility.call(this,g,h);
var i=qx.ui.popup.Manager.getInstance();
g===d?i.add(this):i.remove(this);
}},destruct:function(){qx.ui.popup.Manager.getInstance().remove(this);
}});
})();
(function(){var l="atom",k="Integer",j="String",i="_applyRich",h="qx.ui.tooltip.ToolTip",g="_applyIcon",f="tooltip",d="qx.ui.core.Widget",c="mouseover",b="Boolean",a="_applyLabel";
qx.Class.define(h,{extend:qx.ui.popup.Popup,construct:function(m,n){qx.ui.popup.Popup.call(this);
this.setLayout(new qx.ui.layout.Grow);
this._createChildControl(l);
if(m!=null){this.setLabel(m);
}
if(n!=null){this.setIcon(n);
}this.addListener(c,this._onMouseOver,this);
},properties:{appearance:{refine:true,init:f},showTimeout:{check:k,init:700,themeable:true},hideTimeout:{check:k,init:4000,themeable:true},label:{check:j,nullable:true,apply:a},icon:{check:j,nullable:true,apply:g,themeable:true},rich:{check:b,init:false,apply:i},opener:{check:d,nullable:true}},members:{_createChildControlImpl:function(o,p){var q;

switch(o){case l:q=new qx.ui.basic.Atom;
this._add(q);
break;
}return q||qx.ui.popup.Popup.prototype._createChildControlImpl.call(this,o);
},_onMouseOver:function(e){this.hide();
},_applyIcon:function(r,s){var t=this.getChildControl(l);
r==null?t.resetIcon():t.setIcon(r);
},_applyLabel:function(u,v){var w=this.getChildControl(l);
u==null?w.resetLabel():w.setLabel(u);
},_applyRich:function(x,y){var z=this.getChildControl(l);
z.setRich(x);
}}});
})();
(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.__eI=g;
},events:{"interval":c},properties:{timeoutInterval:{check:e,init:100,apply:d}},members:{__eI:null,_applyTimeoutInterval:function(h){this.__eI.setInterval(h);
},_onInterval:function(){this.fireEvent(f);
}},destruct:function(){if(this.__eI){this.__eI.stop();
}this.__eI=null;
}});
})();
(function(){var j="borderTopWidth",i="borderLeftWidth",h="marginTop",g="marginLeft",f="scroll",e="qx.client",d="border-box",c="borderBottomWidth",b="borderRightWidth",a="auto",y="padding",x="qx.bom.element.Location",w="paddingLeft",v="static",u="marginBottom",t="visible",s="BODY",r="paddingBottom",q="paddingTop",p="marginRight",n="position",o="margin",l="overflow",m="paddingRight",k="border";
qx.Class.define(x,{statics:{__eJ:function(z,A){return qx.bom.element.Style.get(z,A,qx.bom.element.Style.COMPUTED_MODE,false);
},__eK:function(B,C){return parseInt(qx.bom.element.Style.get(B,C,qx.bom.element.Style.COMPUTED_MODE,false),10)||0;
},__eL:function(D){var G=0,top=0;
if(D.getBoundingClientRect&&!qx.bom.client.Engine.OPERA){var F=qx.dom.Node.getWindow(D);
G-=qx.bom.Viewport.getScrollLeft(F);
top-=qx.bom.Viewport.getScrollTop(F);
}else{var E=qx.dom.Node.getDocument(D).body;
D=D.parentNode;
while(D&&D!=E){G+=D.scrollLeft;
top+=D.scrollTop;
D=D.parentNode;
}}return {left:G,top:top};
},__eM:qx.core.Variant.select(e,{"mshtml":function(H){var J=qx.dom.Node.getDocument(H);
var I=J.body;
var K=0;
var top=0;
K-=I.clientLeft+J.documentElement.clientLeft;
top-=I.clientTop+J.documentElement.clientTop;

if(qx.bom.client.Feature.STANDARD_MODE){K+=this.__eK(I,i);
top+=this.__eK(I,j);
}return {left:K,top:top};
},"webkit":function(L){var N=qx.dom.Node.getDocument(L);
var M=N.body;
var O=M.offsetLeft;
var top=M.offsetTop;
if(qx.bom.client.Engine.VERSION<530.17){O+=this.__eK(M,i);
top+=this.__eK(M,j);
}return {left:O,top:top};
},"gecko":function(P){var Q=qx.dom.Node.getDocument(P).body;
var R=Q.offsetLeft;
var top=Q.offsetTop;
if(qx.bom.client.Engine.VERSION<1.9){R+=this.__eK(Q,g);
top+=this.__eK(Q,h);
}if(qx.bom.element.BoxSizing.get(Q)!==d){R+=this.__eK(Q,i);
top+=this.__eK(Q,j);
}return {left:R,top:top};
},"default":function(S){var T=qx.dom.Node.getDocument(S).body;
var U=T.offsetLeft;
var top=T.offsetTop;
return {left:U,top:top};
}}),__eN:qx.core.Variant.select(e,{"mshtml|webkit":function(V){var X=qx.dom.Node.getDocument(V);
if(V.getBoundingClientRect){var Y=V.getBoundingClientRect();
var ba=Y.left;
var top=Y.top;
}else{var ba=V.offsetLeft;
var top=V.offsetTop;
V=V.offsetParent;
var W=X.body;
while(V&&V!=W){ba+=V.offsetLeft;
top+=V.offsetTop;
ba+=this.__eK(V,i);
top+=this.__eK(V,j);
V=V.offsetParent;
}}return {left:ba,top:top};
},"gecko":function(bb){if(bb.getBoundingClientRect){var be=bb.getBoundingClientRect();
var bf=Math.round(be.left);
var top=Math.round(be.top);
}else{var bf=0;
var top=0;
var bc=qx.dom.Node.getDocument(bb).body;
var bd=qx.bom.element.BoxSizing;

if(bd.get(bb)!==d){bf-=this.__eK(bb,i);
top-=this.__eK(bb,j);
}
while(bb&&bb!==bc){bf+=bb.offsetLeft;
top+=bb.offsetTop;
if(bd.get(bb)!==d){bf+=this.__eK(bb,i);
top+=this.__eK(bb,j);
}if(bb.parentNode&&this.__eJ(bb.parentNode,l)!=t){bf+=this.__eK(bb.parentNode,i);
top+=this.__eK(bb.parentNode,j);
}bb=bb.offsetParent;
}}return {left:bf,top:top};
},"default":function(bg){var bi=0;
var top=0;
var bh=qx.dom.Node.getDocument(bg).body;
while(bg&&bg!==bh){bi+=bg.offsetLeft;
top+=bg.offsetTop;
bg=bg.offsetParent;
}return {left:bi,top:top};
}}),get:function(bj,bk){if(bj.tagName==s){var location=this.__eO(bj);
var br=location.left;
var top=location.top;
}else{var bl=this.__eM(bj);
var bq=this.__eN(bj);
var scroll=this.__eL(bj);
var br=bq.left+bl.left-scroll.left;
var top=bq.top+bl.top-scroll.top;
}var bm=br+bj.offsetWidth;
var bn=top+bj.offsetHeight;

if(bk){if(bk==y||bk==f){var bo=qx.bom.element.Overflow.getX(bj);

if(bo==f||bo==a){bm+=bj.scrollWidth-bj.offsetWidth+this.__eK(bj,i)+this.__eK(bj,b);
}var bp=qx.bom.element.Overflow.getY(bj);

if(bp==f||bp==a){bn+=bj.scrollHeight-bj.offsetHeight+this.__eK(bj,j)+this.__eK(bj,c);
}}
switch(bk){case y:br+=this.__eK(bj,w);
top+=this.__eK(bj,q);
bm-=this.__eK(bj,m);
bn-=this.__eK(bj,r);
case f:br-=bj.scrollLeft;
top-=bj.scrollTop;
bm-=bj.scrollLeft;
bn-=bj.scrollTop;
case k:br+=this.__eK(bj,i);
top+=this.__eK(bj,j);
bm-=this.__eK(bj,b);
bn-=this.__eK(bj,c);
break;
case o:br-=this.__eK(bj,g);
top-=this.__eK(bj,h);
bm+=this.__eK(bj,p);
bn+=this.__eK(bj,u);
break;
}}return {left:br,top:top,right:bm,bottom:bn};
},__eO:qx.core.Variant.select(e,{"default":function(bs){var top=bs.offsetTop+this.__eK(bs,h);
var bt=bs.offsetLeft+this.__eK(bs,g);
return {left:bt,top:top};
},"mshtml":function(bu){var top=bu.offsetTop;
var bv=bu.offsetLeft;

if(!((qx.bom.client.Engine.VERSION<8||qx.bom.client.Engine.DOCUMENT_MODE<8)&&!qx.bom.client.Feature.QUIRKS_MODE)){top+=this.__eK(bu,h);
bv+=this.__eK(bu,g);
}return {left:bv,top:top};
},"gecko":function(bw){var top=bw.offsetTop+this.__eK(bw,h)+this.__eK(bw,i);
var bx=bw.offsetLeft+this.__eK(bw,g)+this.__eK(bw,j);
return {left:bx,top:top};
}}),getLeft:function(by,bz){return this.get(by,bz).left;
},getTop:function(bA,bB){return this.get(bA,bB).top;
},getRight:function(bC,bD){return this.get(bC,bD).right;
},getBottom:function(bE,bF){return this.get(bE,bF).bottom;
},getRelative:function(bG,bH,bI,bJ){var bL=this.get(bG,bI);
var bK=this.get(bH,bJ);
return {left:bL.left-bK.left,top:bL.top-bK.top,right:bL.right-bK.right,bottom:bL.bottom-bK.bottom};
},getPosition:function(bM){return this.getRelative(bM,this.getOffsetParent(bM));
},getOffsetParent:function(bN){var bP=bN.offsetParent||document.body;
var bO=qx.bom.element.Style;

while(bP&&(!/^body|html$/i.test(bP.tagName)&&bO.get(bP,n)===v)){bP=bP.offsetParent;
}return bP;
}}});
})();
(function(){var q="qx.client",p="",o="boxSizing",n="box-sizing",m=":",k="border-box",j="qx.bom.element.BoxSizing",h="KhtmlBoxSizing",g="-moz-box-sizing",f="WebkitBoxSizing",c=";",e="-khtml-box-sizing",d="content-box",b="-webkit-box-sizing",a="MozBoxSizing";
qx.Class.define(j,{statics:{__eP:qx.core.Variant.select(q,{"mshtml":null,"webkit":[o,h,f],"gecko":[a],"opera":[o]}),__eQ:qx.core.Variant.select(q,{"mshtml":null,"webkit":[n,e,b],"gecko":[g],"opera":[n]}),__eR:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__eS:function(r){var s=this.__eR;
return s.tags[r.tagName.toLowerCase()]||s.types[r.type];
},compile:qx.core.Variant.select(q,{"mshtml":function(t){{};
},"default":function(u){var w=this.__eQ;
var v=p;

if(w){for(var i=0,l=w.length;i<l;i++){v+=w[i]+m+u+c;
}}return v;
}}),get:qx.core.Variant.select(q,{"mshtml":function(x){if(qx.bom.Document.isStandardMode(qx.dom.Node.getDocument(x))){if(!this.__eS(x)){return d;
}}return k;
},"default":function(y){var A=this.__eP;
var z;

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

if(z!=null&&z!==p){return z;
}}}return p;
}}),set:qx.core.Variant.select(q,{"mshtml":function(B,C){{};
},"default":function(D,E){var F=this.__eP;

if(F){for(var i=0,l=F.length;i<l;i++){D.style[F[i]]=E;
}}}}),reset:function(G){this.set(G,p);
}}});
})();
(function(){var k="",j="qx.client",i="hidden",h="-moz-scrollbars-none",g="overflow",f=";",e="overflowY",d=":",b="overflowX",a="overflow:",y="none",x="scroll",w="borderLeftStyle",v="borderRightStyle",u="div",r="borderRightWidth",q="overflow-y",p="borderLeftWidth",o="-moz-scrollbars-vertical",n="100px",l="qx.bom.element.Overflow",m="overflow-x";
qx.Class.define(l,{statics:{__eT:null,getScrollbarWidth:function(){if(this.__eT!==null){return this.__eT;
}var z=qx.bom.element.Style;
var B=function(F,G){return parseInt(z.get(F,G),10)||0;
};
var C=function(H){return (z.get(H,v)==y?0:B(H,r));
};
var A=function(I){return (z.get(I,w)==y?0:B(I,p));
};
var E=qx.core.Variant.select(j,{"mshtml":function(J){if(z.get(J,e)==i||J.clientWidth==0){return C(J);
}return Math.max(0,J.offsetWidth-J.clientLeft-J.clientWidth);
},"default":function(K){if(K.clientWidth==0){var L=z.get(K,g);
var M=(L==x||L==o?16:0);
return Math.max(0,C(K)+M);
}return Math.max(0,(K.offsetWidth-K.clientWidth-A(K)));
}});
var D=function(N){return E(N)-C(N);
};
var t=document.createElement(u);
var s=t.style;
s.height=s.width=n;
s.overflow=x;
document.body.appendChild(t);
var c=D(t);
this.__eT=c?c:16;
document.body.removeChild(t);
return this.__eT;
},_compile:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(O,P){if(P==i){P=h;
}return a+P+f;
}:
function(Q,R){return Q+d+R+f;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(S,T){return a+T+f;
}:
function(U,V){return U+d+V+f;
},"default":function(W,X){return W+d+X+f;
}}),compileX:function(Y){return this._compile(m,Y);
},compileY:function(ba){return this._compile(q,ba);
},getX:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bb,bc){var bd=qx.bom.element.Style.get(bb,g,bc,false);

if(bd===h){bd=i;
}return bd;
}:
function(be,bf){return qx.bom.element.Style.get(be,b,bf,false);
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bg,bh){return qx.bom.element.Style.get(bg,g,bh,false);
}:
function(bi,bj){return qx.bom.element.Style.get(bi,b,bj,false);
},"default":function(bk,bl){return qx.bom.element.Style.get(bk,b,bl,false);
}}),setX:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bm,bn){if(bn==i){bn=h;
}bm.style.overflow=bn;
}:
function(bo,bp){bo.style.overflowX=bp;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bq,br){bq.style.overflow=br;
}:
function(bs,bt){bs.style.overflowX=bt;
},"default":function(bu,bv){bu.style.overflowX=bv;
}}),resetX:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bw){bw.style.overflow=k;
}:
function(bx){bx.style.overflowX=k;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(by,bz){by.style.overflow=k;
}:
function(bA,bB){bA.style.overflowX=k;
},"default":function(bC){bC.style.overflowX=k;
}}),getY:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bD,bE){var bF=qx.bom.element.Style.get(bD,g,bE,false);

if(bF===h){bF=i;
}return bF;
}:
function(bG,bH){return qx.bom.element.Style.get(bG,e,bH,false);
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bI,bJ){return qx.bom.element.Style.get(bI,g,bJ,false);
}:
function(bK,bL){return qx.bom.element.Style.get(bK,e,bL,false);
},"default":function(bM,bN){return qx.bom.element.Style.get(bM,e,bN,false);
}}),setY:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bO,bP){if(bP===i){bP=h;
}bO.style.overflow=bP;
}:
function(bQ,bR){bQ.style.overflowY=bR;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(bS,bT){bS.style.overflow=bT;
}:
function(bU,bV){bU.style.overflowY=bV;
},"default":function(bW,bX){bW.style.overflowY=bX;
}}),resetY:qx.core.Variant.select(j,{"gecko":qx.bom.client.Engine.VERSION<
1.8?
function(bY){bY.style.overflow=k;
}:
function(ca){ca.style.overflowY=k;
},"opera":qx.bom.client.Engine.VERSION<
9.5?
function(cb,cc){cb.style.overflow=k;
}:
function(cd,ce){cd.style.overflowY=k;
},"default":function(cf){cf.style.overflowY=k;
}})}});
})();
(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:{__eU: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(l){return f+(this.__eU[l]||l)+d;
},get:function(m,n){return qx.bom.element.Style.get(m,b,n,false);
},set:function(o,p){o.style.cursor=this.__eU[p]||p;
},reset:function(q){q.style.cursor=g;
}}});
})();
(function(){var o="auto",n="px",m=",",l="clip:auto;",k="rect(",j=");",i="",h=")",g="qx.bom.element.Clip",f="string",c="clip:rect(",e=" ",d="clip",b="rect(auto,auto,auto,auto)",a="rect(auto, auto, auto, auto)";
qx.Class.define(g,{statics:{compile:function(p){if(!p){return l;
}var u=p.left;
var top=p.top;
var t=p.width;
var s=p.height;
var q,r;

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

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

if(L==null){H=(K==null?o:K+n);
L=o;
}else{H=(K==null?o:L+K+n);
L=L+n;
}
if(top==null){I=(J==null?o:J+n);
top=o;
}else{I=(J==null?o:top+J+n);
top=top+n;
}F.style.clip=k+top+m+H+m+I+m+L+h;
},reset:function(M){M.style.clip=a;
}}});
})();
(function(){var m="",l="qx.client",k=";",j="opacity:",i="opacity",h="filter",g="MozOpacity",f=");",e=")",d="zoom:1;filter:alpha(opacity=",a="qx.bom.element.Opacity",c="alpha(opacity=",b="-moz-opacity:";
qx.Class.define(a,{statics:{SUPPORT_CSS3_OPACITY:false,compile:qx.core.Variant.select(l,{"mshtml":function(n){if(n>=1){n=1;
}
if(n<0.00001){n=0;
}
if(qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){return j+n+k;
}else{return d+(n*100)+f;
}},"gecko":function(o){if(o>=1){o=0.999999;
}
if(!qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){return b+o+k;
}else{return j+o+k;
}},"default":function(p){if(p>=1){return m;
}return j+p+k;
}}),set:qx.core.Variant.select(l,{"mshtml":function(q,r){if(qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){if(r>=1){r=m;
}q.style.opacity=r;
}else{var s=qx.bom.element.Style.get(q,h,qx.bom.element.Style.COMPUTED_MODE,false);

if(r>=1){r=1;
}
if(r<0.00001){r=0;
}if(!q.currentStyle||!q.currentStyle.hasLayout){q.style.zoom=1;
}q.style.filter=s.replace(/alpha\([^\)]*\)/gi,m)+c+r*100+e;
}},"gecko":function(t,u){if(u>=1){u=0.999999;
}
if(!qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){t.style.MozOpacity=u;
}else{t.style.opacity=u;
}},"default":function(v,w){if(w>=1){w=m;
}v.style.opacity=w;
}}),reset:qx.core.Variant.select(l,{"mshtml":function(x){if(qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){x.style.opacity=m;
}else{var y=qx.bom.element.Style.get(x,h,qx.bom.element.Style.COMPUTED_MODE,false);
x.style.filter=y.replace(/alpha\([^\)]*\)/gi,m);
}},"gecko":function(z){if(!qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){z.style.MozOpacity=m;
}else{z.style.opacity=m;
}},"default":function(A){A.style.opacity=m;
}}),get:qx.core.Variant.select(l,{"mshtml":function(B,C){if(qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY){var D=qx.bom.element.Style.get(B,i,C,false);

if(D!=null){return parseFloat(D);
}return 1.0;
}else{var E=qx.bom.element.Style.get(B,h,C,false);

if(E){var D=E.match(/alpha\(opacity=(.*)\)/);

if(D&&D[1]){return parseFloat(D[1])/100;
}}return 1.0;
}},"gecko":function(F,G){var H=qx.bom.element.Style.get(F,!qx.bom.element.Opacity.SUPPORT_CSS3_OPACITY?g:i,G,false);

if(H==0.999999){H=1.0;
}
if(H!=null){return parseFloat(H);
}return 1.0;
},"default":function(I,J){var K=qx.bom.element.Style.get(I,i,J,false);

if(K!=null){return parseFloat(K);
}return 1.0;
}})},defer:function(L){L.SUPPORT_CSS3_OPACITY=(typeof document.documentElement.style.opacity=="string");
}});
})();
(function(){var m="",k="qx.client",h="userSelect",g="style",f="MozUserModify",e="px",d="float",c="borderImage",b="styleFloat",a="appearance",F="pixelHeight",E='Ms',D=":",C="cssFloat",B="pixelTop",A="pixelLeft",z='O',y="qx.bom.element.Style",x='Khtml',w='string',t="pixelRight",u='Moz',r="pixelWidth",s="pixelBottom",p=";",q="textOverflow",n="userModify",o='Webkit',v="WebkitUserModify";
qx.Class.define(y,{statics:{__eV:function(){var G=[a,h,q,c];
var K={};
var H=document.documentElement.style;
var L=[u,o,x,z,E];

for(var i=0,l=G.length;i<l;i++){var M=G[i];
var I=M;

if(H[M]){K[I]=M;
continue;
}M=qx.lang.String.firstUp(M);

for(var j=0,N=L.length;j<N;j++){var J=L[j]+M;

if(typeof H[J]==w){K[I]=J;
break;
}}}this.__eW=K;
this.__eW[n]=qx.core.Variant.select(k,{"gecko":f,"webkit":v,"default":h});
this.__eX={};

for(var I in K){this.__eX[I]=this.__fc(K[I]);
}this.__eW[d]=qx.core.Variant.select(k,{"mshtml":b,"default":C});
},__eY:{width:r,height:F,left:A,right:t,top:B,bottom:s},__fa:{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(O){var Q=[];
var S=this.__fa;
var R=this.__eX;
var name,P;

for(name in O){P=O[name];

if(P==null){continue;
}name=R[name]||name;
if(S[name]){Q.push(S[name].compile(P));
}else{Q.push(this.__fc(name),D,P,p);
}}return Q.join(m);
},__fb:{},__fc:function(T){var U=this.__fb;
var V=U[T];

if(!V){V=U[T]=qx.lang.String.hyphenate(T);
}return V;
},setCss:qx.core.Variant.select(k,{"mshtml":function(W,X){W.style.cssText=X;
},"default":function(Y,ba){Y.setAttribute(g,ba);
}}),getCss:qx.core.Variant.select(k,{"mshtml":function(bb){return bb.style.cssText.toLowerCase();
},"default":function(bc){return bc.getAttribute(g);
}}),isPropertySupported:function(bd){return (this.__fa[bd]||this.__eW[bd]||bd in document.documentElement.style);
},COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,set:function(be,name,bf,bg){{};
name=this.__eW[name]||name;
if(bg!==false&&this.__fa[name]){return this.__fa[name].set(be,bf);
}else{be.style[name]=bf!==null?bf:m;
}},setStyles:function(bh,bi,bj){{};
var bm=this.__eW;
var bo=this.__fa;
var bk=bh.style;

for(var bn in bi){var bl=bi[bn];
var name=bm[bn]||bn;

if(bl===undefined){if(bj!==false&&bo[name]){bo[name].reset(bh);
}else{bk[name]=m;
}}else{if(bj!==false&&bo[name]){bo[name].set(bh,bl);
}else{bk[name]=bl!==null?bl:m;
}}}},reset:function(bp,name,bq){name=this.__eW[name]||name;
if(bq!==false&&this.__fa[name]){return this.__fa[name].reset(bp);
}else{bp.style[name]=m;
}},get:qx.core.Variant.select(k,{"mshtml":function(br,name,bs,bt){name=this.__eW[name]||name;
if(bt!==false&&this.__fa[name]){return this.__fa[name].get(br,bs);
}if(!br.currentStyle){return br.style[name]||m;
}switch(bs){case this.LOCAL_MODE:return br.style[name]||m;
case this.CASCADED_MODE:return br.currentStyle[name]||m;
default:var bx=br.currentStyle[name]||m;
if(/^-?[\.\d]+(px)?$/i.test(bx)){return bx;
}var bw=this.__eY[name];

if(bw){var bu=br.style[name];
br.style[name]=bx||0;
var bv=br.style[bw]+e;
br.style[name]=bu;
return bv;
}if(/^-?[\.\d]+(em|pt|%)?$/i.test(bx)){throw new Error("Untranslated computed property value: "+name+". Only pixel values work well across different clients.");
}return bx;
}},"default":function(by,name,bz,bA){name=this.__eW[name]||name;
if(bA!==false&&this.__fa[name]){return this.__fa[name].get(by,bz);
}switch(bz){case this.LOCAL_MODE:return by.style[name]||m;
case this.CASCADED_MODE:if(by.currentStyle){return by.currentStyle[name]||m;
}throw new Error("Cascaded styles are not supported in this browser!");
default:var bB=qx.dom.Node.getDocument(by);
var bC=bB.defaultView.getComputedStyle(by,null);
return bC?bC[name]:m;
}}})},defer:function(bD){bD.__eV();
}});
})();
(function(){var f="CSS1Compat",e="position:absolute;width:0;height:0;width:1",d="qx.bom.Document",c="1px",b="qx.client",a="div";
qx.Class.define(d,{statics:{isQuirksMode:qx.core.Variant.select(b,{"mshtml":function(g){if(qx.bom.client.Engine.VERSION>=8){return (g||window).document.documentMode===5;
}else{return (g||window).document.compatMode!==f;
}},"webkit":function(h){if(document.compatMode===undefined){var i=(h||window).document.createElement(a);
i.style.cssText=e;
return i.style.width===c?true:false;
}else{return (h||window).document.compatMode!==f;
}},"default":function(j){return (j||window).document.compatMode!==f;
}}),isStandardMode:function(k){return !this.isQuirksMode(k);
},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(o){var p=(o||window).document;
var q=qx.bom.Viewport.getHeight(o);
var scroll=this.isStandardMode(o)?p.documentElement.scrollHeight:p.body.scrollHeight;
return Math.max(scroll,q);
}}});
})();
(function(){var b="qx.client",a="qx.bom.Viewport";
qx.Class.define(a,{statics:{getWidth:qx.core.Variant.select(b,{"opera":function(c){if(qx.bom.client.Engine.VERSION<9.5){return (c||window).document.body.clientWidth;
}else{var d=(c||window).document;
return qx.bom.Document.isStandardMode(c)?d.documentElement.clientWidth:d.body.clientWidth;
}},"webkit":function(e){if(qx.bom.client.Engine.VERSION<523.15){return (e||window).innerWidth;
}else{var f=(e||window).document;
return qx.bom.Document.isStandardMode(e)?f.documentElement.clientWidth:f.body.clientWidth;
}},"default":function(g){var h=(g||window).document;
return qx.bom.Document.isStandardMode(g)?h.documentElement.clientWidth:h.body.clientWidth;
}}),getHeight:qx.core.Variant.select(b,{"opera":function(i){if(qx.bom.client.Engine.VERSION<9.5){return (i||window).document.body.clientHeight;
}else{var j=(i||window).document;
return qx.bom.Document.isStandardMode(i)?j.documentElement.clientHeight:j.body.clientHeight;
}},"webkit":function(k){if(qx.bom.client.Engine.VERSION<523.15){return (k||window).innerHeight;
}else{var l=(k||window).document;
return qx.bom.Document.isStandardMode(k)?l.documentElement.clientHeight:l.body.clientHeight;
}},"default":function(m){var n=(m||window).document;
return qx.bom.Document.isStandardMode(m)?n.documentElement.clientHeight:n.body.clientHeight;
}}),getScrollLeft:qx.core.Variant.select(b,{"mshtml":function(o){var p=(o||window).document;
return p.documentElement.scrollLeft||p.body.scrollLeft;
},"default":function(q){return (q||window).pageXOffset;
}}),getScrollTop:qx.core.Variant.select(b,{"mshtml":function(r){var s=(r||window).document;
return s.documentElement.scrollTop||s.body.scrollTop;
},"default":function(t){return (t||window).pageYOffset;
}}),getOrientation:function(u){var v=(u||window).orientation;

if(v==null){v=this.getWidth(u)>this.getHeight(u)?90:0;
}return v;
},isLandscape:function(w){return Math.abs(this.getOrientation(w))==90;
},isPortrait:function(x){var y=this.getOrientation(x);
return (y==0||y==180);
}}});
})();
(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='__fd',d="qx.util.placement.Placement",b="keep-align",a="direct";
qx.Class.define(d,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__fd=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:{__fe:null,compute:function(p,q,r,s,t,u,v){this.__fe=this.__fe||new qx.util.placement.Placement();
var y=t.split(f);
var x=y[0];
var w=y[1];
this.__fe.set({axisX:this.__fi(u),axisY:this.__fi(v),edge:x,align:w});
return this.__fe.compute(p,q,r,s);
},__ff:null,__fg:null,__fh:null,__fi:function(z){switch(z){case a:this.__ff=this.__ff||new qx.util.placement.DirectAxis();
return this.__ff;
case b:this.__fg=this.__fg||new qx.util.placement.KeepAlignAxis();
return this.__fg;
case c:this.__fh=this.__fh||new qx.util.placement.BestFitAxis();
return this.__fh;
default:throw new Error("Invalid 'mode' argument!'");
}}},members:{__fd:null,compute:function(A,B,C,D){{};
var E=this.getAxisX()||this.__fd;
var G=E.computeStart(A.width,{start:C.left,end:C.right},{start:D.left,end:D.right},B.width,this.__fj());
var F=this.getAxisY()||this.__fd;
var top=F.computeStart(A.height,{start:C.top,end:C.bottom},{start:D.top,end:D.bottom},B.height,this.__fk());
return {left:G,top:top};
},__fj:function(){var I=this.getEdge();
var H=this.getAlign();

if(I==l){return i;
}else if(I==n){return g;
}else if(H==l){return k;
}else if(H==n){return h;
}},__fk:function(){var K=this.getEdge();
var J=this.getAlign();

if(K==o){return i;
}else if(K==m){return g;
}else if(J==o){return k;
}else if(J==m){return h;
}}},destruct:function(){this._disposeObjects(e);
}});
})();
(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(f,g,h,i,j){throw new Error("abstract method call!");
},_moveToEdgeAndAlign:function(k,l,m,n){switch(n){case e:return l.start-m.end-k;
case b:return l.end+m.start;
case d:return l.start+m.start;
case c:return l.end-m.end-k;
}},_isInRange:function(o,p,q){return o>=0&&o+p<=q;
}}});
})();
(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 a="qx.util.placement.BestFitAxis";
qx.Class.define(a,{extend:qx.util.placement.AbstractAxis,members:{computeStart:function(b,c,d,e,f){var g=this._moveToEdgeAndAlign(b,c,d,f);

if(this._isInRange(g,b,e)){return g;
}
if(g<0){g=Math.min(0,e-b);
}
if(g+b>e){g=Math.max(0,e-b);
}return g;
}}});
})();
(function(){var b="qx.ui.core.queue.Layout",a="layout";
qx.Class.define(b,{statics:{__fl:{},remove:function(c){delete this.__fl[c.$$hash];
},add:function(d){this.__fl[d.$$hash]=d;
qx.ui.core.queue.Manager.scheduleFlush(a);
},flush:function(){var e=this.__fo();
for(var i=e.length-1;i>=0;i--){var f=e[i];
if(f.hasValidLayout()){continue;
}if(f.isRootWidget()&&!f.hasUserBounds()){var h=f.getSizeHint();
f.renderLayout(0,0,h.width,h.height);
}else{var g=f.getBounds();
f.renderLayout(g.left,g.top,g.width,g.height);
}}},getNestingLevel:function(j){var k=this.__fn;
var m=0;
var parent=j;
while(true){if(k[parent.$$hash]!=null){m+=k[parent.$$hash];
break;
}
if(!parent.$$parent){break;
}parent=parent.$$parent;
m+=1;
}var l=m;

while(j&&j!==parent){k[j.$$hash]=l--;
j=j.$$parent;
}return m;
},__fm:function(){var s=qx.ui.core.queue.Visibility;
this.__fn={};
var r=[];
var q=this.__fl;
var n,p;

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

if(s.isVisible(n)){p=this.getNestingLevel(n);
if(!r[p]){r[p]={};
}r[p][o]=n;
delete q[o];
}}return r;
},__fo:function(){var w=[];
var y=this.__fm();

for(var v=y.length-1;v>=0;v--){if(!y[v]){continue;
}
for(var u in y[v]){var t=y[v][u];
if(v==0||t.isRootWidget()||t.hasUserBounds()){w.push(t);
t.invalidateLayoutCache();
continue;
}var A=t.getSizeHint(false);

if(A){t.invalidateLayoutCache();
var x=t.getSizeHint();
var z=(!t.getBounds()||A.minWidth!==x.minWidth||A.width!==x.width||A.maxWidth!==x.maxWidth||A.minHeight!==x.minHeight||A.height!==x.height||A.maxHeight!==x.maxHeight);
}else{z=true;
}
if(z){var parent=t.getLayoutParent();

if(!y[v-1]){y[v-1]={};
}y[v-1][parent.$$hash]=parent;
}else{w.push(t);
}}}return w;
}}});
})();
(function(){var b="qx.util.DeferredCallManager",a="singleton";
qx.Class.define(b,{extend:qx.core.Object,type:a,construct:function(){this.__fp={};
this.__fq=qx.lang.Function.bind(this.__fu,this);
this.__fr=false;
},members:{__fs:null,__ft:null,__fp:null,__fr:null,__fq:null,schedule:function(c){if(this.__fs==null){this.__fs=window.setTimeout(this.__fq,0);
}var d=c.toHashCode();
if(this.__ft&&this.__ft[d]){return;
}this.__fp[d]=c;
this.__fr=true;
},cancel:function(e){var f=e.toHashCode();
if(this.__ft&&this.__ft[f]){this.__ft[f]=null;
return;
}delete this.__fp[f];
if(qx.lang.Object.isEmpty(this.__fp)&&this.__fs!=null){window.clearTimeout(this.__fs);
this.__fs=null;
}},__fu:qx.event.GlobalError.observeMethod(function(){this.__fs=null;
while(this.__fr){this.__ft=qx.lang.Object.clone(this.__fp);
this.__fp={};
this.__fr=false;

for(var h in this.__ft){var g=this.__ft[h];

if(g){this.__ft[h]=null;
g.call();
}}}this.__ft=null;
})},destruct:function(){if(this.__fs!=null){window.clearTimeout(this.__fs);
}this.__fq=this.__fp=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.__fv=b;
this.__fw=c||null;
this.__fx=qx.util.DeferredCallManager.getInstance();
},members:{__fv:null,__fw:null,__fx:null,cancel:function(){this.__fx.cancel(this);
},schedule:function(){this.__fx.schedule(this);
},call:function(){this.__fw?this.__fv.apply(this.__fw):this.__fv();
}},destruct:function(d,e){this.cancel();
this.__fw=this.__fv=this.__fx=null;
}});
})();
(function(){var m="element",k="qx.client",j="qxSelectable",h="off",g="on",f="text",d="div",c="",b="mshtml",a="none",F="scroll",E="qx.html.Element",D="|capture|",C="activate",B="blur",A="deactivate",z="capture",w="userSelect",v="-moz-none",u="visible",s="releaseCapture",t="|bubble|",q="tabIndex",r="__fU",o="focus",p="MozUserSelect",n="hidden";
qx.Class.define(E,{extend:qx.core.Object,construct:function(G,H,I){qx.core.Object.call(this);
this.__fy=G||d;
this.__fz=H||null;
this.__fA=I||null;
},statics:{DEBUG:false,_modified:{},_visibility:{},_scroll:{},_actions:[],__fB:{},_scheduleFlush:function(J){qx.html.Element.__gg.schedule();
},flush:function(){var U;
{};
var M=this.__fC();
var L=M.getFocus();

if(L&&this.__fG(L)){M.blur(L);
}var bc=M.getActive();

if(bc&&this.__fG(bc)){qx.bom.Element.deactivate(bc);
}var P=this.__fE();

if(P&&this.__fG(P)){qx.bom.Element.releaseCapture(P);
}var V=[];
var W=this._modified;

for(var T in W){U=W[T];
if(U.__fY()){if(U.__fH&&qx.dom.Hierarchy.isRendered(U.__fH)){V.push(U);
}else{{};
U.__fX();
}delete W[T];
}}
for(var i=0,l=V.length;i<l;i++){U=V[i];
{};
U.__fX();
}var R=this._visibility;

for(var T in R){U=R[T];
var X=U.__fH;

if(!X){delete R[T];
continue;
}{};
if(!U.$$disposed){X.style.display=U.__fK?c:a;
if(qx.core.Variant.isSet(k,b)){if(!(document.documentMode>=8)){X.style.visibility=U.__fK?u:n;
}}}delete R[T];
}var scroll=this._scroll;

for(var T in scroll){U=scroll[T];
var bd=U.__fH;

if(bd&&bd.offsetWidth){var O=true;
if(U.__fN!=null){U.__fH.scrollLeft=U.__fN;
delete U.__fN;
}if(U.__fO!=null){U.__fH.scrollTop=U.__fO;
delete U.__fO;
}var Y=U.__fL;

if(Y!=null){var S=Y.element.getDomElement();

if(S&&S.offsetWidth){qx.bom.element.Scroll.intoViewX(S,bd,Y.align);
delete U.__fL;
}else{O=false;
}}var ba=U.__fM;

if(ba!=null){var S=ba.element.getDomElement();

if(S&&S.offsetWidth){qx.bom.element.Scroll.intoViewY(S,bd,ba.align);
delete U.__fM;
}else{O=false;
}}if(O){delete scroll[T];
}}}var N={"releaseCapture":1,"blur":1,"deactivate":1};
for(var i=0;i<this._actions.length;i++){var bb=this._actions[i];
var X=bb.element.__fH;

if(!X||!N[bb.type]&&!bb.element.__fY()){continue;
}var Q=bb.args;
Q.unshift(X);
qx.bom.Element[bb.type].apply(qx.bom.Element,Q);
}this._actions=[];
for(var T in this.__fB){var K=this.__fB[T];
var bd=K.element.__fH;

if(bd){qx.bom.Selection.set(bd,K.start,K.end);
delete this.__fB[T];
}}qx.event.handler.Appear.refresh();
},__fC:function(){if(!this.__fD){var be=qx.event.Registration.getManager(window);
this.__fD=be.getHandler(qx.event.handler.Focus);
}return this.__fD;
},__fE:function(){if(!this.__fF){var bf=qx.event.Registration.getManager(window);
this.__fF=bf.getDispatcher(qx.event.dispatch.MouseCapture);
}return this.__fF.getCaptureElement();
},__fG:function(bg){var bh=qx.core.ObjectRegistry.fromHashCode(bg.$$element);
return bh&&!bh.__fY();
}},members:{__fy:null,__fH:null,__fI:false,__fJ:true,__fK:true,__fL:null,__fM:null,__fN:null,__fO:null,__fP:null,__fQ:null,__fR:null,__fz:null,__fA:null,__fS:null,__fT:null,__fU:null,__fV:null,__fW:null,_scheduleChildrenUpdate:function(){if(this.__fV){return;
}this.__fV=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
},_createDomElement:function(){return qx.bom.Element.create(this.__fy);
},__fX:function(){{};
var length;
var bi=this.__fU;

if(bi){length=bi.length;
var bj;

for(var i=0;i<length;i++){bj=bi[i];

if(bj.__fK&&bj.__fJ&&!bj.__fH){bj.__fX();
}}}
if(!this.__fH){this.__fH=this._createDomElement();
this.__fH.$$element=this.$$hash;
this._copyData(false);

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

if(this.__fV){this._syncChildren();
}}delete this.__fV;
},_insertChildren:function(){var bk=this.__fU;
var length=bk.length;
var bm;

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

for(var i=0;i<length;i++){bm=bk[i];

if(bm.__fH&&bm.__fJ){bl.appendChild(bm.__fH);
}}this.__fH.appendChild(bl);
}else{var bl=this.__fH;

for(var i=0;i<length;i++){bm=bk[i];

if(bm.__fH&&bm.__fJ){bl.appendChild(bm.__fH);
}}}},_syncChildren:function(){var br;
var bw=qx.core.ObjectRegistry;
var bn=this.__fU;
var bu=bn.length;
var bo;
var bs;
var bq=this.__fH;
var bt=bq.childNodes;
var bp=0;
var bv;
{};
for(var i=bt.length-1;i>=0;i--){bv=bt[i];
bs=bw.fromHashCode(bv.$$element);

if(!bs||!bs.__fJ||bs.__fW!==this){bq.removeChild(bv);
{};
}}for(var i=0;i<bu;i++){bo=bn[i];
if(bo.__fJ){bs=bo.__fH;
bv=bt[bp];

if(!bs){continue;
}if(bs!=bv){if(bv){bq.insertBefore(bs,bv);
}else{bq.appendChild(bs);
}{};
}bp++;
}}{};
},_copyData:function(bx){var bB=this.__fH;
var bA=this.__fA;

if(bA){var by=qx.bom.element.Attribute;

for(var bC in bA){by.set(bB,bC,bA[bC]);
}}var bA=this.__fz;

if(bA){var bz=qx.bom.element.Style;

if(bx){bz.setStyles(bB,bA);
}else{bz.setCss(bB,bz.compile(bA));
}}var bA=this.__fS;

if(bA){for(var bC in bA){this._applyProperty(bC,bA[bC]);
}}var bA=this.__fT;

if(bA){qx.event.Registration.getManager(bB).importListeners(bB,bA);
delete this.__fT;
}},_syncData:function(){var bH=this.__fH;
var bG=qx.bom.element.Attribute;
var bE=qx.bom.element.Style;
var bF=this.__fQ;

if(bF){var bK=this.__fA;

if(bK){var bI;

for(var bJ in bF){bI=bK[bJ];

if(bI!==undefined){bG.set(bH,bJ,bI);
}else{bG.reset(bH,bJ);
}}}this.__fQ=null;
}var bF=this.__fP;

if(bF){var bK=this.__fz;

if(bK){var bD={};

for(var bJ in bF){bD[bJ]=bK[bJ];
}bE.setStyles(bH,bD);
}this.__fP=null;
}var bF=this.__fR;

if(bF){var bK=this.__fS;

if(bK){var bI;

for(var bJ in bF){this._applyProperty(bJ,bK[bJ]);
}}this.__fR=null;
}},__fY:function(){var bL=this;
while(bL){if(bL.__fI){return true;
}
if(!bL.__fJ||!bL.__fK){return false;
}bL=bL.__fW;
}return false;
},__ga:function(bM){if(bM.__fW===this){throw new Error("Child is already in: "+bM);
}
if(bM.__fI){throw new Error("Root elements could not be inserted into other ones.");
}if(bM.__fW){bM.__fW.remove(bM);
}bM.__fW=this;
if(!this.__fU){this.__fU=[];
}if(this.__fH){this._scheduleChildrenUpdate();
}},__gb:function(bN){if(bN.__fW!==this){throw new Error("Has no child: "+bN);
}if(this.__fH){this._scheduleChildrenUpdate();
}delete bN.__fW;
},__gc:function(bO){if(bO.__fW!==this){throw new Error("Has no child: "+bO);
}if(this.__fH){this._scheduleChildrenUpdate();
}},getChildren:function(){return this.__fU||null;
},getChild:function(bP){var bQ=this.__fU;
return bQ&&bQ[bP]||null;
},hasChildren:function(){var bR=this.__fU;
return bR&&bR[0]!==undefined;
},indexOf:function(bS){var bT=this.__fU;
return bT?bT.indexOf(bS):-1;
},hasChild:function(bU){var bV=this.__fU;
return bV&&bV.indexOf(bU)!==-1;
},add:function(bW){if(arguments[1]){for(var i=0,l=arguments.length;i<l;i++){this.__ga(arguments[i]);
}this.__fU.push.apply(this.__fU,arguments);
}else{this.__ga(bW);
this.__fU.push(bW);
}return this;
},addAt:function(bX,bY){this.__ga(bX);
qx.lang.Array.insertAt(this.__fU,bX,bY);
return this;
},remove:function(ca){var cb=this.__fU;

if(!cb){return;
}
if(arguments[1]){var cc;

for(var i=0,l=arguments.length;i<l;i++){cc=arguments[i];
this.__gb(cc);
qx.lang.Array.remove(cb,cc);
}}else{this.__gb(ca);
qx.lang.Array.remove(cb,ca);
}return this;
},removeAt:function(cd){var ce=this.__fU;

if(!ce){throw new Error("Has no children!");
}var cf=ce[cd];

if(!cf){throw new Error("Has no child at this position!");
}this.__gb(cf);
qx.lang.Array.removeAt(this.__fU,cd);
return this;
},removeAll:function(){var cg=this.__fU;

if(cg){for(var i=0,l=cg.length;i<l;i++){this.__gb(cg[i]);
}cg.length=0;
}return this;
},getParent:function(){return this.__fW||null;
},insertInto:function(parent,ch){parent.__ga(this);

if(ch==null){parent.__fU.push(this);
}else{qx.lang.Array.insertAt(this.__fU,this,ch);
}return this;
},insertBefore:function(ci){var parent=ci.__fW;
parent.__ga(this);
qx.lang.Array.insertBefore(parent.__fU,this,ci);
return this;
},insertAfter:function(cj){var parent=cj.__fW;
parent.__ga(this);
qx.lang.Array.insertAfter(parent.__fU,this,cj);
return this;
},moveTo:function(ck){var parent=this.__fW;
parent.__gc(this);
var cl=parent.__fU.indexOf(this);

if(cl===ck){throw new Error("Could not move to same index!");
}else if(cl<ck){ck--;
}qx.lang.Array.removeAt(parent.__fU,cl);
qx.lang.Array.insertAt(parent.__fU,this,ck);
return this;
},moveBefore:function(cm){var parent=this.__fW;
return this.moveTo(parent.__fU.indexOf(cm));
},moveAfter:function(cn){var parent=this.__fW;
return this.moveTo(parent.__fU.indexOf(cn)+1);
},free:function(){var parent=this.__fW;

if(!parent){throw new Error("Has no parent to remove from.");
}
if(!parent.__fU){return;
}parent.__gb(this);
qx.lang.Array.remove(parent.__fU,this);
return this;
},getDomElement:function(){return this.__fH||null;
},getNodeName:function(){return this.__fy;
},setNodeName:function(name){this.__fy=name;
},setRoot:function(co){this.__fI=co;
},useMarkup:function(cp){if(this.__fH){throw new Error("Could not overwrite existing element!");
}if(qx.core.Variant.isSet(k,b)){var cq=document.createElement(d);
}else{var cq=qx.bom.Element.getHelperElement();
}cq.innerHTML=cp;
this.useElement(cq.firstChild);
return this.__fH;
},useElement:function(cr){if(this.__fH){throw new Error("Could not overwrite existing element!");
}this.__fH=cr;
this.__fH.$$element=this.$$hash;
this._copyData(true);
},isFocusable:function(){var ct=this.getAttribute(q);

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

if(ct>=0&&cs[this.__fy]){return true;
}return false;
},setSelectable:qx.core.Variant.select(k,{"webkit":function(cu){this.setAttribute(j,cu?g:h);
this.setStyle(w,cu?f:a);
},"gecko":function(cv){this.setAttribute(j,cv?g:h);
this.setStyle(p,cv?f:v);
},"default":function(cw){this.setAttribute(j,cw?g:h);
}}),isNativelyFocusable:function(){return !!qx.event.handler.Focus.FOCUSABLE_ELEMENTS[this.__fy];
},include:function(){if(this.__fJ){return;
}delete this.__fJ;

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

if(this.__fW){this.__fW._scheduleChildrenUpdate();
}return this;
},isIncluded:function(){return this.__fJ===true;
},show:function(){if(this.__fK){return;
}
if(this.__fH){qx.html.Element._visibility[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}if(this.__fW){this.__fW._scheduleChildrenUpdate();
}delete this.__fK;
},hide:function(){if(!this.__fK){return;
}
if(this.__fH){qx.html.Element._visibility[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}this.__fK=false;
},isVisible:function(){return this.__fK===true;
},scrollChildIntoViewX:function(cx,cy,cz){var cA=this.__fH;
var cB=cx.getDomElement();

if(cz!==false&&cA&&cA.offsetWidth&&cB&&cB.offsetWidth){qx.bom.element.Scroll.intoViewX(cB,cA,cy);
}else{this.__fL={element:cx,align:cy};
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fN;
},scrollChildIntoViewY:function(cC,cD,cE){var cF=this.__fH;
var cG=cC.getDomElement();

if(cE!==false&&cF&&cF.offsetWidth&&cG&&cG.offsetWidth){qx.bom.element.Scroll.intoViewY(cG,cF,cD);
}else{this.__fM={element:cC,align:cD};
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fO;
},scrollToX:function(x,cH){var cI=this.__fH;

if(cH!==true&&cI&&cI.offsetWidth){cI.scrollLeft=x;
}else{this.__fN=x;
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fL;
},getScrollX:function(){var cJ=this.__fH;

if(cJ){return cJ.scrollLeft;
}return this.__fN||0;
},scrollToY:function(y,cK){var cL=this.__fH;

if(cK!==true&&cL&&cL.offsetWidth){cL.scrollTop=y;
}else{this.__fO=y;
qx.html.Element._scroll[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}delete this.__fM;
},getScrollY:function(){var cM=this.__fH;

if(cM){return cM.scrollTop;
}return this.__fO||0;
},disableScrolling:function(){this.enableScrolling();
this.scrollToX(0);
this.scrollToY(0);
this.addListener(F,this.__ge,this);
},enableScrolling:function(){this.removeListener(F,this.__ge,this);
},__gd:null,__ge:function(e){if(!this.__gd){this.__gd=true;
this.__fH.scrollTop=0;
this.__fH.scrollLeft=0;
delete this.__gd;
}},getTextSelection:function(){var cN=this.__fH;

if(cN){return qx.bom.Selection.get(cN);
}return null;
},getTextSelectionLength:function(){var cO=this.__fH;

if(cO){return qx.bom.Selection.getLength(cO);
}return null;
},getTextSelectionStart:function(){var cP=this.__fH;

if(cP){return qx.bom.Selection.getStart(cP);
}return null;
},getTextSelectionEnd:function(){var cQ=this.__fH;

if(cQ){return qx.bom.Selection.getEnd(cQ);
}return null;
},setTextSelection:function(cR,cS){var cT=this.__fH;

if(cT){qx.bom.Selection.set(cT,cR,cS);
return;
}qx.html.Element.__fB[this.toHashCode()]={element:this,start:cR,end:cS};
qx.html.Element._scheduleFlush(m);
},clearTextSelection:function(){var cU=this.__fH;

if(cU){qx.bom.Selection.clear(cU);
}delete qx.html.Element.__fB[this.toHashCode()];
},__gf:function(cV,cW){var cX=qx.html.Element._actions;
cX.push({type:cV,element:this,args:cW||[]});
qx.html.Element._scheduleFlush(m);
},focus:function(){this.__gf(o);
},blur:function(){this.__gf(B);
},activate:function(){this.__gf(C);
},deactivate:function(){this.__gf(A);
},capture:function(cY){this.__gf(z,[cY!==false]);
},releaseCapture:function(){this.__gf(s);
},setStyle:function(da,dc,dd){if(!this.__fz){this.__fz={};
}
if(this.__fz[da]==dc){return;
}
if(dc==null){delete this.__fz[da];
}else{this.__fz[da]=dc;
}if(this.__fH){if(dd){qx.bom.element.Style.set(this.__fH,da,dc);
return this;
}if(!this.__fP){this.__fP={};
}this.__fP[da]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},setStyles:function(de,df){var dg=qx.bom.element.Style;

if(!this.__fz){this.__fz={};
}
if(this.__fH){if(!this.__fP){this.__fP={};
}
for(var di in de){var dh=de[di];

if(this.__fz[di]==dh){continue;
}
if(dh==null){delete this.__fz[di];
}else{this.__fz[di]=dh;
}if(df){dg.set(this.__fH,di,dh);
continue;
}this.__fP[di]=true;
}qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}else{for(var di in de){var dh=de[di];

if(this.__fz[di]==dh){continue;
}
if(dh==null){delete this.__fz[di];
}else{this.__fz[di]=dh;
}}}return this;
},removeStyle:function(dj,dk){this.setStyle(dj,null,dk);
},getStyle:function(dl){return this.__fz?this.__fz[dl]:null;
},getAllStyles:function(){return this.__fz||null;
},setAttribute:function(dm,dn,dp){if(!this.__fA){this.__fA={};
}
if(this.__fA[dm]==dn){return;
}
if(dn==null){delete this.__fA[dm];
}else{this.__fA[dm]=dn;
}if(this.__fH){if(dp){qx.bom.element.Attribute.set(this.__fH,dm,dn);
return this;
}if(!this.__fQ){this.__fQ={};
}this.__fQ[dm]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},setAttributes:function(dq,dr){for(var ds in dq){this.setAttribute(ds,dq[ds],dr);
}return this;
},removeAttribute:function(dt,du){this.setAttribute(dt,null,du);
},getAttribute:function(dv){return this.__fA?this.__fA[dv]:null;
},_applyProperty:function(name,dw){},_setProperty:function(dx,dy,dz){if(!this.__fS){this.__fS={};
}
if(this.__fS[dx]==dy){return;
}
if(dy==null){delete this.__fS[dx];
}else{this.__fS[dx]=dy;
}if(this.__fH){if(dz){this._applyProperty(dx,dy);
return this;
}if(!this.__fR){this.__fR={};
}this.__fR[dx]=true;
qx.html.Element._modified[this.$$hash]=this;
qx.html.Element._scheduleFlush(m);
}return this;
},_removeProperty:function(dA,dB){this._setProperty(dA,null,dB);
},_getProperty:function(dC){var dD=this.__fS;

if(!dD){return null;
}var dE=dD[dC];
return dE==null?null:dE;
},addListener:function(dF,dG,self,dH){var dI;

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

if(this.__fH){return qx.event.Registration.addListener(this.__fH,dF,dG,self,dH);
}
if(!this.__fT){this.__fT={};
}
if(dH==null){dH=false;
}var dJ=qx.event.Manager.getNextUniqueId();
var dK=dF+(dH?D:t)+dJ;
this.__fT[dK]={type:dF,listener:dG,self:self,capture:dH,unique:dJ};
return dK;
},removeListener:function(dL,dM,self,dN){var dO;

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

if(this.__fH){qx.event.Registration.removeListener(this.__fH,dL,dM,self,dN);
}else{var dQ=this.__fT;
var dP;

if(dN==null){dN=false;
}
for(var dR in dQ){dP=dQ[dR];
if(dP.listener===dM&&dP.self===self&&dP.capture===dN&&dP.type===dL){delete dQ[dR];
break;
}}}return this;
},removeListenerById:function(dS){if(this.$$disposed){return null;
}
if(this.__fH){qx.event.Registration.removeListenerById(this.__fH,dS);
}else{delete this.__fT[dS];
}return this;
},hasListener:function(dT,dU){if(this.$$disposed){return false;
}
if(this.__fH){return qx.event.Registration.hasListener(this.__fH,dT,dU);
}var dW=this.__fT;
var dV;

if(dU==null){dU=false;
}
for(var dX in dW){dV=dW[dX];
if(dV.capture===dU&&dV.type===dT){return true;
}}return false;
}},defer:function(dY){dY.__gg=new qx.util.DeferredCall(dY.flush,dY);
},destruct:function(){var ea=this.__fH;

if(ea){qx.event.Registration.getManager(ea).removeAllListeners(ea);
ea.$$element=c;
}
if(!qx.core.ObjectRegistry.inShutDown){var parent=this.__fW;

if(parent&&!parent.$$disposed){parent.remove(this);
}}this._disposeArray(r);
this.__fA=this.__fz=this.__fT=this.__fS=this.__fQ=this.__fP=this.__fR=this.__fH=this.__fW=this.__fL=this.__fM=null;
}});
})();
(function(){var a="qx.event.handler.UserAction";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(b){qx.core.Object.call(this);
this.__gh=b;
this.__gi=b.getWindow();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{useraction:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{__gh:null,__gi:null,canHandleEvent:function(c,d){},registerEvent:function(e,f,g){},unregisterEvent:function(h,i,j){}},destruct:function(){this.__gh=this.__gi=null;
},defer:function(k){qx.event.Registration.addHandler(k);
}});
})();
(function(){var d='ie',c="qx.ui.core.queue.Manager",b="useraction",a="touchend";
qx.Class.define(c,{statics:{__gj:false,__gk:{},__gl:0,MAX_RETRIES:10,scheduleFlush:function(f){var self=qx.ui.core.queue.Manager;
self.__gk[f]=true;

if(!self.__gj){self.__gq.schedule();
self.__gj=true;
}},flush:function(){if(qx.ui.core.queue.Manager.PAUSE){return;
}var self=qx.ui.core.queue.Manager;
if(self.__gm){return;
}self.__gm=true;
self.__gq.cancel();
var g=self.__gk;
self.__gn(function(){while(g.visibility||g.widget||g.appearance||g.layout||g.element){if(g.widget){delete g.widget;
qx.ui.core.queue.Widget.flush();
}
if(g.visibility){delete g.visibility;
qx.ui.core.queue.Visibility.flush();
}
if(g.appearance){delete g.appearance;
qx.ui.core.queue.Appearance.flush();
}if(g.widget||g.visibility||g.appearance){continue;
}
if(g.layout){delete g.layout;
qx.ui.core.queue.Layout.flush();
}if(g.widget||g.visibility||g.appearance||g.layout){continue;
}
if(g.element){delete g.element;
qx.html.Element.flush();
}}},function(){self.__gj=false;
});
self.__gn(function(){if(g.dispose){delete g.dispose;
qx.ui.core.queue.Dispose.flush();
}},function(){self.__gm=false;
});
self.__gl=0;
},__gn:function(h,i){var self=qx.ui.core.queue.Manager;

try{h();
}catch(e){{};
self.__gj=false;
self.__gm=false;
self.__gl+=1;
if(qx.bom.client.Browser.NAME==d&&qx.bom.client.Browser.VERSION<=7){i();
}
if(self.__gl<=self.MAX_RETRIES){self.scheduleFlush();
}else{throw new Error("Fatal Error: Flush terminated "+(self.__gl-1)+" times in a row"+" due to exceptions in user code. The application has to be reloaded!");
}throw e;
}finally{i();
}},__go:function(e){var j=qx.ui.core.queue.Manager;
if(e.getData()==a){j.PAUSE=true;

if(j.__gp){window.clearTimeout(j.__gp);
}j.__gp=window.setTimeout(function(){j.PAUSE=false;
j.__gp=null;
j.flush();
},500);
}else{j.flush();
}}},defer:function(k){k.__gq=new qx.util.DeferredCall(k.flush);
qx.html.Element._scheduleFlush=k.scheduleFlush;
qx.event.Registration.addListener(window,b,qx.bom.client.Feature.TOUCH?k.__go:k.flush);
}});
})();
(function(){var b="-",a="qx.event.handler.Element";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(c){qx.core.Object.call(this);
this._manager=c;
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(d,e){},registerEvent:function(f,g,h){var k=qx.core.ObjectRegistry.toHashCode(f);
var i=k+b+g;
var j=qx.lang.Function.listener(this._onNative,this,i);
qx.bom.Event.addNativeListener(f,g,j);
this._registeredEvents[i]={element:f,type:g,listener:j};
},unregisterEvent:function(l,m,n){var q=this._registeredEvents;

if(!q){return;
}var r=qx.core.ObjectRegistry.toHashCode(l);
var o=r+b+m;
var p=this._registeredEvents[o];

if(p){qx.bom.Event.removeNativeListener(l,m,p.listener);
}delete this._registeredEvents[o];
},_onNative:qx.event.GlobalError.observeMethod(function(s,t){var v=this._registeredEvents;

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

for(var y in x){w=x[y];
qx.bom.Event.removeNativeListener(w.element,w.type,w.listener);
}this._manager=this._registeredEvents=null;
},defer:function(z){qx.event.Registration.addHandler(z);
}});
})();
(function(){var e="orientationchange",d="resize",c="landscape",b="portrait",a="qx.event.handler.Orientation";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(f){qx.core.Object.call(this);
this.__gr=f;
this.__gs=f.getWindow();
this._initObserver();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{orientationchange:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{__gr:null,__gs:null,__gt:null,__gu:null,__gv:null,canHandleEvent:function(g,h){},registerEvent:function(i,j,k){},unregisterEvent:function(l,m,n){},_initObserver:function(){this.__gv=qx.lang.Function.listener(this._onNative,this);
this.__gt=qx.bom.Event.supportsEvent(this.__gs,e)?e:d;
var Event=qx.bom.Event;
Event.addNativeListener(this.__gs,this.__gt,this.__gv);
},_stopObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__gs,this.__gt,this.__gv);
},_onNative:qx.event.GlobalError.observeMethod(function(o){var q=qx.bom.Viewport;
var p=q.getOrientation();

if(this.__gu!=p){this.__gu=p;
var r=q.isLandscape()?c:b;
qx.event.Registration.fireEvent(this.__gs,e,qx.event.type.Orientation,[p,r]);
}})},destruct:function(){this._stopObserver();
this.__gr=this.__gs=null;
},defer:function(s){qx.event.Registration.addHandler(s);
}});
})();
(function(){var t="qx.mobile.emulatetouch",s="touchend",r="touchstart",q="touchmove",p="mousemove",o="touchcancel",n="mouseup",m="mousedown",l="qx.client",k="mshtml",d="qx.event.handler.Touch",j="useraction",h="swipe",c="qx.mobile.nativescroll",b="webkit",g="off",f="tap",i="x",a="y";
qx.Class.define(d,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(u){qx.core.Object.call(this);
this.__gw=u;
this.__gx=u.getWindow();
this.__gy=this.__gx.document;
this._initTouchObserver();
this._initMouseObserver();
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{touchstart:1,touchmove:1,touchend:1,touchcancel:1,tap:1,swipe:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE+qx.event.IEventHandler.TARGET_DOCUMENT,IGNORE_CAN_HANDLE:true,MOUSE_TO_TOUCH_MAPPING:{"mousedown":"touchstart","mousemove":"touchmove","mouseup":"touchend"},SWIPE_DIRECTION:{x:["left","right"],y:["up","down"]},TAP_MAX_DISTANCE:10,SWIPE_MIN_DISTANCE:11,SWIPE_MIN_VELOCITY:0},members:{__gz:null,__gA:null,__gw:null,__gx:null,__gy:null,__gB:null,__gC:null,__gD:null,__gE:null,__gF:false,__gG:null,canHandleEvent:function(v,w){},registerEvent:function(x,y,z){},unregisterEvent:function(A,B,C){},__gH:function(D){var E=qx.bom.Event.getTarget(D);
if(qx.core.Variant.isSet(l,b)){if(E&&E.nodeType==3){E=E.parentNode;
}}return E;
},__gI:function(F,G,H,I){if(!H){H=this.__gH(F);
}var G=G||F.type;

if(H&&H.nodeType){qx.event.Registration.fireEvent(H,G,I||qx.event.type.Touch,[F,H,null,true,true]);
}qx.event.Registration.fireEvent(this.__gx,j,qx.event.type.Data,[G]);
},__gJ:function(J,K,L){if(!L){L=this.__gH(J);
}var K=K||J.type;

if(K==r){this.__gK(J,L);
}else if(K==q){this.__gL(J,L);
}else if(K==s){this.__gM(J,L);
}},__gK:function(M,N){var O=M.changedTouches[0];
this.__gB=O.screenX;
this.__gC=O.screenY;
this.__gD=new Date().getTime();
this.__gE=M.changedTouches.length===1;
},__gL:function(P,Q){if(this.__gE&&P.changedTouches.length>1){this.__gE=false;
}},__gM:function(R,S){if(this.__gE){var T=R.changedTouches[0];
var V={x:T.screenX-this.__gB,y:T.screenY-this.__gC};
var W=qx.event.handler.Touch;

if(this.__gG==S&&Math.abs(V.x)<=W.TAP_MAX_DISTANCE&&Math.abs(V.y)<=W.TAP_MAX_DISTANCE){this.__gI(R,f,S,qx.event.type.Tap);
}else{var U=this.__gN(R,S,V);

if(U){R.swipe=U;
this.__gI(R,h,S,qx.event.type.Swipe);
}}}},__gN:function(X,Y,ba){var be=qx.event.handler.Touch;
var bf=new Date().getTime()-this.__gD;
var bh=(Math.abs(ba.x)>=Math.abs(ba.y))?i:a;
var bb=ba[bh];
var bc=be.SWIPE_DIRECTION[bh][bb<0?0:1];
var bg=(bf!==0)?bb/bf:0;
var bd=null;

if(Math.abs(bg)>=be.SWIPE_MIN_VELOCITY&&Math.abs(bb)>=be.SWIPE_MIN_DISTANCE){bd={startTime:this.__gD,duration:bf,axis:bh,direction:bc,distance:bb,velocity:bg};
}return bd;
},__gO:qx.core.Variant.select(t,{"on":function(bi){var bj=bi.type;
var bl=qx.event.handler.Touch.MOUSE_TO_TOUCH_MAPPING;

if(bl[bj]){bj=bl[bj];
if(bj==r&&this.__gP(bi)){this.__gF=true;
}else if(bj==s){this.__gF=false;
}var bm=this.__gQ(bi);
var bk=(bj==s?[]:[bm]);
bi.touches=bk;
bi.targetTouches=bk;
bi.changedTouches=[bm];
}return bj;
},"default":qx.lang.Function.empty}),__gP:qx.core.Variant.select(t,{"on":function(bn){if(qx.core.Variant.isSet(l,k)){var bo=1;
}else{var bo=0;
}return bn.button==bo;
},"default":qx.lang.Function.empty}),__gQ:qx.core.Variant.select(t,{"on":function(bp){var bq=this.__gH(bp);
return {clientX:bp.clientX,clientY:bp.clientY,screenX:bp.screenX,screenY:bp.screenY,pageX:bp.pageX,pageY:bp.pageY,identifier:1,target:bq};
},"default":qx.lang.Function.empty}),_initTouchObserver:function(){this.__gz=qx.lang.Function.listener(this._onTouchEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__gy,r,this.__gz);
Event.addNativeListener(this.__gy,q,this.__gz);
Event.addNativeListener(this.__gy,s,this.__gz);
Event.addNativeListener(this.__gy,o,this.__gz);
},_initMouseObserver:qx.core.Variant.select(t,{"on":function(){if(!qx.bom.client.Feature.TOUCH){this.__gA=qx.lang.Function.listener(this._onMouseEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__gy,m,this.__gA);
Event.addNativeListener(this.__gy,p,this.__gA);
Event.addNativeListener(this.__gy,n,this.__gA);
}},"default":qx.lang.Function.empty}),_stopTouchObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__gy,r,this.__gz);
Event.removeNativeListener(this.__gy,q,this.__gz);
Event.removeNativeListener(this.__gy,s,this.__gz);
Event.removeNativeListener(this.__gy,o,this.__gz);
},_stopMouseObserver:qx.core.Variant.select(t,{"on":function(){if(!qx.bom.client.Feature.TOUCH){var Event=qx.bom.Event;
Event.removeNativeListener(this.__gy,m,this.__gA);
Event.removeNativeListener(this.__gy,p,this.__gA);
Event.removeNativeListener(this.__gy,n,this.__gA);
}},"default":qx.lang.Function.empty}),_onTouchEvent:qx.event.GlobalError.observeMethod(function(br){this._commonTouchEventHandler(br);
}),_onMouseEvent:qx.core.Variant.select(t,{"on":qx.event.GlobalError.observeMethod(function(bs){if(!qx.bom.client.Feature.TOUCH){if(bs.type==p&&!this.__gF){return;
}var bt=this.__gO(bs);
this._commonTouchEventHandler(bs,bt);
}}),"default":qx.lang.Function.empty}),_commonTouchEventHandler:function(bu,bv){var bv=bv||bu.type;

if(bv==r){this.__gG=this.__gH(bu);
}this.__gI(bu,bv);
this.__gJ(bu,bv);
}},destruct:function(){this._stopTouchObserver();
this._stopMouseObserver();
this.__gw=this.__gx=this.__gy=this.__gG=null;
},defer:function(bw){qx.event.Registration.addHandler(bw);
if(qx.bom.client.Feature.TOUCH){if(qx.core.Variant.isSet(c,g)){document.addEventListener(q,function(e){e.preventDefault();
});
}qx.event.Registration.getManager(document).getHandler(bw);
}}});
})();
(function(){var a="qx.event.handler.Capture";
qx.Class.define(a,{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(b,c){},registerEvent:function(d,e,f){},unregisterEvent:function(g,h,i){}},defer:function(j){qx.event.Registration.addHandler(j);
}});
})();
(function(){var p="mouseup",o="click",n="qx.client",m="mousedown",l="contextmenu",k="mousewheel",j="dblclick",h="mouseover",g="mouseout",f="mousemove",c="on",e="useraction",d="DOMMouseScroll",b="gecko|webkit",a="qx.event.handler.Mouse";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(q){qx.core.Object.call(this);
this.__gR=q;
this.__gS=q.getWindow();
this.__gT=this.__gS.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:{__gU:null,__gV:null,__gW:null,__gX:null,__gY:null,__gR:null,__gS:null,__gT:null,canHandleEvent:function(r,s){},registerEvent:qx.bom.client.System.IPHONE||
qx.bom.client.System.IPAD?
function(t,u,v){t[c+u]=qx.lang.Function.returnNull;
}:qx.lang.Function.returnNull,unregisterEvent:qx.bom.client.System.IPHONE||
qx.bom.client.System.IPAD?
function(w,x,y){w[c+x]=undefined;
}:qx.lang.Function.returnNull,__ha:function(z,A,B){if(!B){B=qx.bom.Event.getTarget(z);
}if(B&&B.nodeType){qx.event.Registration.fireEvent(B,A||z.type,A==k?qx.event.type.MouseWheel:qx.event.type.Mouse,[z,B,null,true,true]);
}qx.event.Registration.fireEvent(this.__gS,e,qx.event.type.Data,[A||z.type]);
},__hb:function(){var D=[this.__gS,this.__gT,this.__gT.body];
var E=this.__gS;
var C=d;

for(var i=0;i<D.length;i++){if(qx.bom.Event.supportsEvent(D[i],k)){C=k;
E=D[i];
break;
}}return {type:C,target:E};
},_initButtonObserver:function(){this.__gU=qx.lang.Function.listener(this._onButtonEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__gT,m,this.__gU);
Event.addNativeListener(this.__gT,p,this.__gU);
Event.addNativeListener(this.__gT,o,this.__gU);
Event.addNativeListener(this.__gT,j,this.__gU);
Event.addNativeListener(this.__gT,l,this.__gU);
},_initMoveObserver:function(){this.__gV=qx.lang.Function.listener(this._onMoveEvent,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__gT,f,this.__gV);
Event.addNativeListener(this.__gT,h,this.__gV);
Event.addNativeListener(this.__gT,g,this.__gV);
},_initWheelObserver:function(){this.__gW=qx.lang.Function.listener(this._onWheelEvent,this);
var F=this.__hb();
qx.bom.Event.addNativeListener(F.target,F.type,this.__gW);
},_stopButtonObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__gT,m,this.__gU);
Event.removeNativeListener(this.__gT,p,this.__gU);
Event.removeNativeListener(this.__gT,o,this.__gU);
Event.removeNativeListener(this.__gT,j,this.__gU);
Event.removeNativeListener(this.__gT,l,this.__gU);
},_stopMoveObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__gT,f,this.__gV);
Event.removeNativeListener(this.__gT,h,this.__gV);
Event.removeNativeListener(this.__gT,g,this.__gV);
},_stopWheelObserver:function(){var G=this.__hb();
qx.bom.Event.removeNativeListener(G.target,G.type,this.__gW);
},_onMoveEvent:qx.event.GlobalError.observeMethod(function(H){this.__ha(H);
}),_onButtonEvent:qx.event.GlobalError.observeMethod(function(I){var J=I.type;
var K=qx.bom.Event.getTarget(I);
if(qx.core.Variant.isSet(n,b)){if(K&&K.nodeType==3){K=K.parentNode;
}}
if(this.__hc){this.__hc(I,J,K);
}
if(this.__he){this.__he(I,J,K);
}this.__ha(I,J,K);

if(this.__hd){this.__hd(I,J,K);
}
if(this.__hf){this.__hf(I,J,K);
}this.__gX=J;
}),_onWheelEvent:qx.event.GlobalError.observeMethod(function(L){this.__ha(L,k);
}),__hc:qx.core.Variant.select(n,{"webkit":function(M,N,O){if(qx.bom.client.Engine.VERSION<530){if(N==l){this.__ha(M,p,O);
}}},"default":null}),__hd:qx.core.Variant.select(n,{"opera":function(P,Q,R){if(Q==p&&P.button==2){this.__ha(P,l,R);
}},"default":null}),__he:qx.core.Variant.select(n,{"mshtml":function(S,T,U){if(S.target!==undefined){return;
}
if(T==p&&this.__gX==o){this.__ha(S,m,U);
}else if(T==j){this.__ha(S,o,U);
}},"default":null}),__hf:qx.core.Variant.select(n,{"mshtml":null,"default":function(V,W,X){switch(W){case m:this.__gY=X;
break;
case p:if(X!==this.__gY){var Y=qx.dom.Hierarchy.getCommonParent(X,this.__gY);
this.__ha(V,o,Y);
}}}})},destruct:function(){this._stopButtonObserver();
this._stopMoveObserver();
this._stopWheelObserver();
this.__gR=this.__gS=this.__gT=this.__gY=null;
},defer:function(ba){qx.event.Registration.addHandler(ba);
}});
})();
(function(){var m="keydown",l="qx.client",k="keypress",j="NumLock",i="keyup",h="Enter",g="0",f="9",e="-",d="PageUp",bu="+",bt="PrintScreen",bs="gecko",br="A",bq="Z",bp="Left",bo="F5",bn="Down",bm="Up",bl="F11",t="F6",u="useraction",r="F3",s="keyinput",p="Insert",q="F8",n="End",o="/",B="Delete",C="*",O="cmd",K="F1",W="F4",R="Home",bh="F2",bc="F12",G="PageDown",bk="F7",bj="Win",bi="F9",F="F10",I="Right",J="text",M="Escape",P="webkit",S="5",Y="3",be="Meta",v="7",w="CapsLock",H="input",V="Control",U="Space",T="Tab",bb="Shift",ba="Pause",Q="Unidentified",X="qx.event.handler.Keyboard",a="mshtml|webkit",bd="6",x="off",y="Apps",L="4",b="Alt",c="mshtml",E="2",z="Scroll",A="1",D="8",N="autoComplete",bg=",",bf="Backspace";
qx.Class.define(X,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(bv){qx.core.Object.call(this);
this.__hg=bv;
this.__hh=bv.getWindow();
if(qx.core.Variant.isSet(l,bs)){this.__hi=this.__hh;
}else{this.__hi=this.__hh.document.documentElement;
}this.__hj={};
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(bw){if(this._identifierToKeyCodeMap[bw]){return true;
}
if(bw.length!=1){return false;
}
if(bw>=g&&bw<=f){return true;
}
if(bw>=br&&bw<=bq){return true;
}
switch(bw){case bu:case e:case C:case o:return true;
default:return false;
}}},members:{__hk:null,__hg:null,__hh:null,__hi:null,__hj:null,__hl:null,__hm:null,__hn:null,canHandleEvent:function(bx,by){},registerEvent:function(bz,bA,bB){},unregisterEvent:function(bC,bD,bE){},_fireInputEvent:function(bF,bG){var bH=this.__ho();
if(bH&&bH.offsetWidth!=0){var event=qx.event.Registration.createEvent(s,qx.event.type.KeyInput,[bF,bH,bG]);
this.__hg.dispatchEvent(bH,event);
}if(this.__hh){qx.event.Registration.fireEvent(this.__hh,u,qx.event.type.Data,[s]);
}},_fireSequenceEvent:function(bI,bJ,bK){var bL=this.__ho();
var bM=bI.keyCode;
var event=qx.event.Registration.createEvent(bJ,qx.event.type.KeySequence,[bI,bL,bK]);
this.__hg.dispatchEvent(bL,event);
if(qx.core.Variant.isSet(l,a)){if(bJ==m&&event.getDefaultPrevented()){if(!this._isNonPrintableKeyCode(bM)&&!this._emulateKeyPress[bM]){this._fireSequenceEvent(bI,k,bK);
}}}if(this.__hh){qx.event.Registration.fireEvent(this.__hh,u,qx.event.type.Data,[bJ]);
}},__ho:function(){var bN=this.__hg.getHandler(qx.event.handler.Focus);
var bO=bN.getActive();
if(!bO||bO.offsetWidth==0){bO=bN.getFocus();
}if(!bO||bO.offsetWidth==0){bO=this.__hg.getWindow().document.body;
}return bO;
},_initKeyObserver:function(){this.__hk=qx.lang.Function.listener(this.__hp,this);
this.__hn=qx.lang.Function.listener(this.__hr,this);
var Event=qx.bom.Event;
Event.addNativeListener(this.__hi,i,this.__hk);
Event.addNativeListener(this.__hi,m,this.__hk);
Event.addNativeListener(this.__hi,k,this.__hn);
},_stopKeyObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__hi,i,this.__hk);
Event.removeNativeListener(this.__hi,m,this.__hk);
Event.removeNativeListener(this.__hi,k,this.__hn);

for(var bQ in (this.__hm||{})){var bP=this.__hm[bQ];
Event.removeNativeListener(bP.target,k,bP.callback);
}delete (this.__hm);
},__hp:qx.event.GlobalError.observeMethod(qx.core.Variant.select(l,{"mshtml":function(bR){bR=window.event||bR;
var bU=bR.keyCode;
var bS=0;
var bT=bR.type;
if(!(this.__hj[bU]==m&&bT==m)){this._idealKeyHandler(bU,bS,bT,bR);
}if(bT==m){if(this._isNonPrintableKeyCode(bU)||this._emulateKeyPress[bU]){this._idealKeyHandler(bU,bS,k,bR);
}}this.__hj[bU]=bT;
},"gecko":function(bV){var ca=this._keyCodeFix[bV.keyCode]||bV.keyCode;
var bX=0;
var bY=bV.type;
if(qx.bom.client.Platform.WIN){var bW=ca?this._keyCodeToIdentifier(ca):this._charCodeToIdentifier(bX);

if(!(this.__hj[bW]==m&&bY==m)){this._idealKeyHandler(ca,bX,bY,bV);
}this.__hj[bW]=bY;
}else{this._idealKeyHandler(ca,bX,bY,bV);
}this.__hq(bV.target,bY,ca);
},"webkit":function(cb){var ce=0;
var cc=0;
var cd=cb.type;
if(qx.bom.client.Engine.VERSION<525.13){if(cd==i||cd==m){ce=this._charCode2KeyCode[cb.charCode]||cb.keyCode;
}else{if(this._charCode2KeyCode[cb.charCode]){ce=this._charCode2KeyCode[cb.charCode];
}else{cc=cb.charCode;
}}this._idealKeyHandler(ce,cc,cd,cb);
}else{ce=cb.keyCode;
this._idealKeyHandler(ce,cc,cd,cb);
if(cd==m){if(this._isNonPrintableKeyCode(ce)||this._emulateKeyPress[ce]){this._idealKeyHandler(ce,cc,k,cb);
}}this.__hj[ce]=cd;
}},"opera":function(cf){this.__hl=cf.keyCode;
this._idealKeyHandler(cf.keyCode,0,cf.type,cf);
}})),__hq:qx.core.Variant.select(l,{"gecko":function(cg,ch,ci){if(ch===m&&(ci==33||ci==34||ci==38||ci==40)&&cg.type==J&&cg.tagName.toLowerCase()===H&&cg.getAttribute(N)!==x){if(!this.__hm){this.__hm={};
}var ck=qx.core.ObjectRegistry.toHashCode(cg);

if(this.__hm[ck]){return;
}var self=this;
this.__hm[ck]={target:cg,callback:function(cl){qx.bom.Event.stopPropagation(cl);
self.__hr(cl);
}};
var cj=qx.event.GlobalError.observeMethod(this.__hm[ck].callback);
qx.bom.Event.addNativeListener(cg,k,cj);
}},"default":null}),__hr:qx.event.GlobalError.observeMethod(qx.core.Variant.select(l,{"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(cn){var cq=this._keyCodeFix[cn.keyCode]||cn.keyCode;
var co=cn.charCode;
var cp=cn.type;
this._idealKeyHandler(cq,co,cp,cn);
},"webkit":function(cr){if(qx.bom.client.Engine.VERSION<525.13){var cu=0;
var cs=0;
var ct=cr.type;

if(ct==i||ct==m){cu=this._charCode2KeyCode[cr.charCode]||cr.keyCode;
}else{if(this._charCode2KeyCode[cr.charCode]){cu=this._charCode2KeyCode[cr.charCode];
}else{cs=cr.charCode;
}}this._idealKeyHandler(cu,cs,ct,cr);
}else{if(this._charCode2KeyCode[cr.keyCode]){this._idealKeyHandler(this._charCode2KeyCode[cr.keyCode],0,cr.type,cr);
}else{this._idealKeyHandler(0,cr.keyCode,cr.type,cr);
}}},"opera":function(cv){var cx=cv.keyCode;
var cw=cv.type;
if(cx!=this.__hl){this._idealKeyHandler(0,this.__hl,cw,cv);
}else{if(this._keyCodeToIdentifierMap[cv.keyCode]){this._idealKeyHandler(cv.keyCode,0,cv.type,cv);
}else{this._idealKeyHandler(0,cv.keyCode,cv.type,cv);
}}}})),_idealKeyHandler:function(cy,cz,cA,cB){var cC;
if(cy||(!cy&&!cz)){cC=this._keyCodeToIdentifier(cy);
this._fireSequenceEvent(cB,cA,cC);
}else{cC=this._charCodeToIdentifier(cz);
this._fireSequenceEvent(cB,k,cC);
this._fireInputEvent(cB,cz);
}},_specialCharCodeMap:{8:bf,9:T,13:h,27:M,32:U},_emulateKeyPress:qx.core.Variant.select(l,{"mshtml":{8:true,9:true},"webkit":{8:true,9:true,27:true},"default":{}}),_keyCodeToIdentifierMap:{16:bb,17:V,18:b,20:w,224:be,37:bp,38:bm,39:I,40:bn,33:d,34:G,35:n,36:R,45:p,46:B,112:K,113:bh,114:r,115:W,116:bo,117:t,118:bk,119:q,120:bi,121:F,122:bl,123:bc,144:j,44:bt,145:z,19:ba,91:qx.bom.client.Platform.MAC?O:bj,92:bj,93:qx.bom.client.Platform.MAC?O:y},_numpadToCharCode:{96:g.charCodeAt(0),97:A.charCodeAt(0),98:E.charCodeAt(0),99:Y.charCodeAt(0),100:L.charCodeAt(0),101:S.charCodeAt(0),102:bd.charCodeAt(0),103:v.charCodeAt(0),104:D.charCodeAt(0),105:f.charCodeAt(0),106:C.charCodeAt(0),107:bu.charCodeAt(0),109:e.charCodeAt(0),110:bg.charCodeAt(0),111:o.charCodeAt(0)},_charCodeA:br.charCodeAt(0),_charCodeZ:bq.charCodeAt(0),_charCode0:g.charCodeAt(0),_charCode9:f.charCodeAt(0),_isNonPrintableKeyCode:function(cD){return this._keyCodeToIdentifierMap[cD]?true:false;
},_isIdentifiableKeyCode:function(cE){if(cE>=this._charCodeA&&cE<=this._charCodeZ){return true;
}if(cE>=this._charCode0&&cE<=this._charCode9){return true;
}if(this._specialCharCodeMap[cE]){return true;
}if(this._numpadToCharCode[cE]){return true;
}if(this._isNonPrintableKeyCode(cE)){return true;
}return false;
},_keyCodeToIdentifier:function(cF){if(this._isIdentifiableKeyCode(cF)){var cG=this._numpadToCharCode[cF];

if(cG){return String.fromCharCode(cG);
}return (this._keyCodeToIdentifierMap[cF]||this._specialCharCodeMap[cF]||String.fromCharCode(cF));
}else{return Q;
}},_charCodeToIdentifier:function(cH){return this._specialCharCodeMap[cH]||String.fromCharCode(cH).toUpperCase();
},_identifierToKeyCode:function(cI){return qx.event.handler.Keyboard._identifierToKeyCodeMap[cI]||cI.charCodeAt(0);
}},destruct:function(){this._stopKeyObserver();
this.__hl=this.__hg=this.__hh=this.__hi=this.__hj=null;
},defer:function(cJ,cK){qx.event.Registration.addHandler(cJ);
if(!cJ._identifierToKeyCodeMap){cJ._identifierToKeyCodeMap={};

for(var cL in cK._keyCodeToIdentifierMap){cJ._identifierToKeyCodeMap[cK._keyCodeToIdentifierMap[cL]]=parseInt(cL,10);
}
for(var cL in cK._specialCharCodeMap){cJ._identifierToKeyCodeMap[cK._specialCharCodeMap[cL]]=parseInt(cL,10);
}}
if(qx.core.Variant.isSet(l,c)){cK._charCode2KeyCode={13:13,27:27};
}else if(qx.core.Variant.isSet(l,bs)){cK._keyCodeFix={12:cK._identifierToKeyCode(j)};
}else if(qx.core.Variant.isSet(l,P)){if(qx.bom.client.Engine.VERSION<525.13){cK._charCode2KeyCode={63289:cK._identifierToKeyCode(j),63276:cK._identifierToKeyCode(d),63277:cK._identifierToKeyCode(G),63275:cK._identifierToKeyCode(n),63273:cK._identifierToKeyCode(R),63234:cK._identifierToKeyCode(bp),63232:cK._identifierToKeyCode(bm),63235:cK._identifierToKeyCode(I),63233:cK._identifierToKeyCode(bn),63272:cK._identifierToKeyCode(B),63302:cK._identifierToKeyCode(p),63236:cK._identifierToKeyCode(K),63237:cK._identifierToKeyCode(bh),63238:cK._identifierToKeyCode(r),63239:cK._identifierToKeyCode(W),63240:cK._identifierToKeyCode(bo),63241:cK._identifierToKeyCode(t),63242:cK._identifierToKeyCode(bk),63243:cK._identifierToKeyCode(q),63244:cK._identifierToKeyCode(bi),63245:cK._identifierToKeyCode(F),63246:cK._identifierToKeyCode(bl),63247:cK._identifierToKeyCode(bc),63248:cK._identifierToKeyCode(bt),3:cK._identifierToKeyCode(h),12:cK._identifierToKeyCode(j),13:cK._identifierToKeyCode(h)};
}else{cK._charCode2KeyCode={13:13,27:27};
}}}});
})();
(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(B){qx.core.Object.call(this);
this.__hs=B;
this.__ht=B.getWindow().document.documentElement;
this.__hs.addListener(this.__ht,v,this._onMouseDown,this);
this.__hF();
},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:{__hs:null,__ht:null,__hu:null,__hv:null,__hw:null,__hx:null,__hy:null,__hz:null,__hA:null,__hB:null,__hC:false,__hD:0,__hE:0,canHandleEvent:function(C,D){},registerEvent:function(E,F,G){},unregisterEvent:function(H,I,J){},addType:function(K){this.__hw[K]=true;
},addAction:function(L){this.__hx[L]=true;
},supportsType:function(M){return !!this.__hw[M];
},supportsAction:function(N){return !!this.__hx[N];
},getData:function(O){if(!this.__hM||!this.__hu){throw new Error("This method must not be used outside the drop event listener!");
}
if(!this.__hw[O]){throw new Error("Unsupported data type: "+O+"!");
}
if(!this.__hz[O]){this.__hA=O;
this.__hH(q,this.__hv,this.__hu,false);
}
if(!this.__hz[O]){throw new Error("Please use a droprequest listener to the drag source to fill the manager with data!");
}return this.__hz[O]||null;
},getCurrentAction:function(){return this.__hB;
},addData:function(P,Q){this.__hz[P]=Q;
},getCurrentType:function(){return this.__hA;
},isSessionActive:function(){return this.__hC;
},__hF:function(){this.__hw={};
this.__hx={};
this.__hy={};
this.__hz={};
},__hG:function(){if(this.__hv==null){return;
}var T=this.__hx;
var R=this.__hy;
var S=null;

if(this.__hM){if(R.Shift&&R.Ctrl&&T.alias){S=k;
}else if(R.Shift&&R.Alt&&T.copy){S=j;
}else if(R.Shift&&T.move){S=b;
}else if(R.Alt&&T.alias){S=k;
}else if(R.Ctrl&&T.copy){S=j;
}else if(T.move){S=b;
}else if(T.copy){S=j;
}else if(T.alias){S=k;
}}
if(S!=this.__hB){this.__hB=S;
this.__hH(o,this.__hv,this.__hu,false);
}},__hH:function(U,V,W,X,Y){var bb=qx.event.Registration;
var ba=bb.createEvent(U,qx.event.type.Drag,[X,Y]);

if(V!==W){ba.setRelatedTarget(W);
}return bb.dispatchEvent(V,ba);
},__hI:function(bc){while(bc&&bc.nodeType==1){if(bc.getAttribute(u)==w){return bc;
}bc=bc.parentNode;
}return null;
},__hJ:function(bd){while(bd&&bd.nodeType==1){if(bd.getAttribute(r)==w){return bd;
}bd=bd.parentNode;
}return null;
},__hK:function(){this.__hv=null;
this.__hs.removeListener(this.__ht,c,this._onMouseMove,this,true);
this.__hs.removeListener(this.__ht,y,this._onMouseUp,this,true);
qx.event.Registration.removeListener(window,i,this._onWindowBlur,this);
this.__hF();
},__hL:function(){if(this.__hC){this.__hs.removeListener(this.__ht,a,this._onMouseOver,this,true);
this.__hs.removeListener(this.__ht,h,this._onMouseOut,this,true);
this.__hs.removeListener(this.__ht,g,this._onKeyDown,this,true);
this.__hs.removeListener(this.__ht,z,this._onKeyUp,this,true);
this.__hH(x,this.__hv,this.__hu,false);
this.__hC=false;
}this.__hM=false;
this.__hu=null;
this.__hK();
},__hM:false,_onWindowBlur:function(e){this.__hL();
},_onKeyDown:function(e){var be=e.getKeyIdentifier();

switch(be){case A:case f:case d:if(!this.__hy[be]){this.__hy[be]=true;
this.__hG();
}}},_onKeyUp:function(e){var bf=e.getKeyIdentifier();

switch(bf){case A:case f:case d:if(this.__hy[bf]){this.__hy[bf]=false;
this.__hG();
}}},_onMouseDown:function(e){if(this.__hC){return;
}var bg=this.__hI(e.getTarget());

if(bg){this.__hD=e.getDocumentLeft();
this.__hE=e.getDocumentTop();
this.__hv=bg;
this.__hs.addListener(this.__ht,c,this._onMouseMove,this,true);
this.__hs.addListener(this.__ht,y,this._onMouseUp,this,true);
qx.event.Registration.addListener(window,i,this._onWindowBlur,this);
}},_onMouseUp:function(e){if(this.__hM){this.__hH(s,this.__hu,this.__hv,false,e);
}if(this.__hC){e.stopPropagation();
}this.__hL();
},_onMouseMove:function(e){if(this.__hC){if(!this.__hH(t,this.__hv,this.__hu,true,e)){this.__hL();
}}else{if(Math.abs(e.getDocumentLeft()-this.__hD)>3||Math.abs(e.getDocumentTop()-this.__hE)>3){if(this.__hH(n,this.__hv,this.__hu,true,e)){this.__hC=true;
this.__hs.addListener(this.__ht,a,this._onMouseOver,this,true);
this.__hs.addListener(this.__ht,h,this._onMouseOut,this,true);
this.__hs.addListener(this.__ht,g,this._onKeyDown,this,true);
this.__hs.addListener(this.__ht,z,this._onKeyUp,this,true);
var bh=this.__hy;
bh.Ctrl=e.isCtrlPressed();
bh.Shift=e.isShiftPressed();
bh.Alt=e.isAltPressed();
this.__hG();
}else{this.__hH(x,this.__hv,this.__hu,false);
this.__hK();
}}}},_onMouseOver:function(e){var bi=e.getTarget();
var bj=this.__hJ(bi);

if(bj&&bj!=this.__hu){this.__hM=this.__hH(m,bj,this.__hv,true,e);
this.__hu=bj;
this.__hG();
}},_onMouseOut:function(e){var bl=this.__hJ(e.getTarget());
var bk=this.__hJ(e.getRelatedTarget());

if(bl&&bl!==bk&&bl==this.__hu){this.__hH(l,this.__hu,bk,false,e);
this.__hu=null;
this.__hM=false;
qx.event.Timer.once(this.__hG,this,0);
}}},destruct:function(){this.__hv=this.__hu=this.__hs=this.__ht=this.__hw=this.__hx=this.__hy=this.__hz=null;
},defer:function(bm){qx.event.Registration.addHandler(bm);
}});
})();
(function(){var c="qx.event.handler.Appear",b="disappear",a="appear";
qx.Class.define(c,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(d){qx.core.Object.call(this);
this.__hN=d;
this.__hO={};
qx.event.handler.Appear.__hP[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,__hP:{},refresh:function(){var e=this.__hP;

for(var f in e){e[f].refresh();
}}},members:{__hN:null,__hO:null,canHandleEvent:function(g,h){},registerEvent:function(i,j,k){var l=qx.core.ObjectRegistry.toHashCode(i)+j;
var m=this.__hO;

if(m&&!m[l]){m[l]=i;
i.$$displayed=i.offsetWidth>0;
}},unregisterEvent:function(n,o,p){var q=qx.core.ObjectRegistry.toHashCode(n)+o;
var r=this.__hO;

if(!r){return;
}
if(r[q]){delete r[q];
}},refresh:function(){var v=this.__hO;
var w;

for(var u in v){w=v[u];
var s=w.offsetWidth>0;

if((!!w.$$displayed)!==s){w.$$displayed=s;
var t=qx.event.Registration.createEvent(s?a:b);
this.__hN.dispatchEvent(w,t);
}}}},destruct:function(){this.__hN=this.__hO=null;
delete qx.event.handler.Appear.__hP[this.$$hash];
},defer:function(x){qx.event.Registration.addHandler(x);
}});
})();
(function(){var b="abstract",a="qx.event.dispatch.AbstractBubbling";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventDispatcher,type:b,construct:function(c){this._manager=c;
},members:{_getParent:function(d){throw new Error("Missing implementation");
},canDispatchEvent:function(e,event,f){return event.getBubbles();
},dispatchEvent:function(g,event,h){var parent=g;
var s=this._manager;
var p,w;
var n;
var r,u;
var t;
var v=[];
p=s.getListeners(g,h,true);
w=s.getListeners(g,h,false);

if(p){v.push(p);
}
if(w){v.push(w);
}var parent=this._getParent(g);
var l=[];
var k=[];
var m=[];
var q=[];
while(parent!=null){p=s.getListeners(parent,h,true);

if(p){m.push(p);
q.push(parent);
}w=s.getListeners(parent,h,false);

if(w){l.push(w);
k.push(parent);
}parent=this._getParent(parent);
}event.setEventPhase(qx.event.type.Event.CAPTURING_PHASE);

for(var i=m.length-1;i>=0;i--){t=q[i];
event.setCurrentTarget(t);
n=m[i];

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

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

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

for(var i=0,x=l.length;i<x;i++){t=k[i];
event.setCurrentTarget(t);
n=l[i];

for(var j=0,o=n.length;j<o;j++){r=n[j];
u=r.context||t;
r.handler.call(u,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(b){return b.parentNode;
},canDispatchEvent:function(c,event,d){return c.nodeType!==undefined&&event.getBubbles();
}},defer:function(e){qx.event.Registration.addDispatcher(e);
}});
})();
(function(){var q="mshtml",p="",o="qx.client",n=" ",m=">",k="<",h="='",g="none",f="<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>",d="qx.bom.Element",a="' ",c="div",b="></";
qx.Class.define(d,{statics:{__hQ:{"onload":true,"onpropertychange":true,"oninput":true,"onchange":true,"name":true,"type":true,"checked":true,"disabled":true},__hR:{},__hS:{},allowCreationWithMarkup:function(r){if(!r){r=window;
}var s=r.location.href;

if(qx.bom.Element.__hS[s]==undefined){try{r.document.createElement(f);
qx.bom.Element.__hS[s]=true;
}catch(e){qx.bom.Element.__hS[s]=false;
}}return qx.bom.Element.__hS[s];
},getHelperElement:function(t){if(!t){t=window;
}var v=t.location.href;

if(!qx.bom.Element.__hR[v]){var u=qx.bom.Element.__hR[v]=t.document.createElement(c);
if(qx.bom.client.Engine.WEBKIT){u.style.display=g;
t.document.body.appendChild(u);
}}return qx.bom.Element.__hR[v];
},create:function(name,w,x){if(!x){x=window;
}
if(!name){throw new Error("The tag name is missing!");
}var z=this.__hQ;
var y=p;

for(var B in w){if(z[B]){y+=B+h+w[B]+a;
}}var C;
if(y!=p){if(qx.bom.Element.allowCreationWithMarkup(x)){C=x.document.createElement(k+name+n+y+m);
}else{var A=qx.bom.Element.getHelperElement(x);
A.innerHTML=k+name+n+y+b+name+m;
C=A.firstChild;
}}else{C=x.document.createElement(name);
}
for(var B in w){if(!z[B]){qx.bom.element.Attribute.set(C,B,w[B]);
}}return C;
},empty:function(D){return D.innerHTML=p;
},addListener:function(E,F,G,self,H){return qx.event.Registration.addListener(E,F,G,self,H);
},removeListener:function(I,J,K,self,L){return qx.event.Registration.removeListener(I,J,K,self,L);
},removeListenerById:function(M,N){return qx.event.Registration.removeListenerById(M,N);
},hasListener:function(O,P,Q){return qx.event.Registration.hasListener(O,P,Q);
},focus:function(R){qx.event.Registration.getManager(R).getHandler(qx.event.handler.Focus).focus(R);
},blur:function(S){qx.event.Registration.getManager(S).getHandler(qx.event.handler.Focus).blur(S);
},activate:function(T){qx.event.Registration.getManager(T).getHandler(qx.event.handler.Focus).activate(T);
},deactivate:function(U){qx.event.Registration.getManager(U).getHandler(qx.event.handler.Focus).deactivate(U);
},capture:function(V,W){qx.event.Registration.getManager(V).getDispatcher(qx.event.dispatch.MouseCapture).activateCapture(V,W);
},releaseCapture:function(X){qx.event.Registration.getManager(X).getDispatcher(qx.event.dispatch.MouseCapture).releaseCapture(X);
},matchesSelector:function(Y,ba){if(ba){return qx.bom.Selector.query(ba,Y.parentNode).length>0;
}else{return false;
}},clone:function(bb,bc){var bf;

if(bc||(qx.core.Variant.isSet(o,q)&&!qx.xml.Document.isXmlDocument(bb))){var bj=qx.event.Registration.getManager(bb);
var bd=qx.dom.Hierarchy.getDescendants(bb);
bd.push(bb);
}if(qx.core.Variant.isSet(o,q)){for(var i=0,l=bd.length;i<l;i++){bj.toggleAttachedEvents(bd[i],false);
}}var bf=bb.cloneNode(true);
if(qx.core.Variant.isSet(o,q)){for(var i=0,l=bd.length;i<l;i++){bj.toggleAttachedEvents(bd[i],true);
}}if(bc===true){var bm=qx.dom.Hierarchy.getDescendants(bf);
bm.push(bf);
var be,bh,bl,bg;

for(var i=0,bk=bd.length;i<bk;i++){bl=bd[i];
be=bj.serializeListeners(bl);

if(be.length>0){bh=bm[i];

for(var j=0,bi=be.length;j<bi;j++){bg=be[j];
bj.addListener(bh,bg.type,bg.handler,bg.self,bg.capture);
}}}}return bf;
}}});
})();
(function(){var c="landscape",b="qx.event.type.Orientation",a="portrait";
qx.Class.define(b,{extend:qx.event.type.Event,members:{__hT:null,__hU:null,init:function(d,e){qx.event.type.Event.prototype.init.call(this,false,false);
this.__hT=d;
this.__hU=e;
return this;
},clone:function(f){var g=qx.event.type.Event.prototype.clone.call(this,f);
g.__hT=this.__hT;
g.__hU=this.__hU;
return g;
},getOrientation:function(){return this.__hT;
},isLandscape:function(){return this.__hU==c;
},isPortrait:function(){return this.__hU==a;
}}});
})();
(function(){var a="qx.event.type.Dom";
qx.Class.define(a,{extend:qx.event.type.Native,statics:{SHIFT_MASK:1,CTRL_MASK:2,ALT_MASK:4,META_MASK:8},members:{_cloneNativeEvent:function(b,c){var c=qx.event.type.Native.prototype._cloneNativeEvent.call(this,b,c);
c.shiftKey=b.shiftKey;
c.ctrlKey=b.ctrlKey;
c.altKey=b.altKey;
c.metaKey=b.metaKey;
return c;
},getModifiers:function(){var e=0;
var d=this._native;

if(d.shiftKey){e|=qx.event.type.Dom.SHIFT_MASK;
}
if(d.ctrlKey){e|=qx.event.type.Dom.CTRL_MASK;
}
if(d.altKey){e|=qx.event.type.Dom.ALT_MASK;
}
if(d.metaKey){e|=qx.event.type.Dom.META_MASK;
}return e;
},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 c="touchcancel",b="qx.event.type.Touch",a="touchend";
qx.Class.define(b,{extend:qx.event.type.Dom,members:{_cloneNativeEvent:function(d,e){var e=qx.event.type.Dom.prototype._cloneNativeEvent.call(this,d,e);
e.pageX=d.pageX;
e.pageY=d.pageY;
e.layerX=d.layerX;
e.layerY=d.layerY;
e.scale=d.scale;
e.rotation=d.rotation;
e.srcElement=d.srcElement;
e.targetTouches=[];

for(var i=0;i<d.targetTouches.length;i++){e.targetTouches[i]=d.targetTouches[i];
}e.changedTouches=[];

for(var i=0;i<d.changedTouches.length;i++){e.changedTouches[i]=d.changedTouches[i];
}e.touches=[];

for(var i=0;i<d.touches.length;i++){e.touches[i]=d.touches[i];
}return e;
},stop:function(){this.stopPropagation();
},getAllTouches:function(){return this._native.touches;
},getTargetTouches:function(){return this._native.targetTouches;
},getChangedTargetTouches:function(){return this._native.changedTouches;
},isMultiTouch:function(){return this.__hW().length>1;
},getScale:function(){return this._native.scale;
},getRotation:function(){return this._native.rotation;
},getDocumentLeft:function(f){return this.__hV(f).pageX;
},getDocumentTop:function(g){return this.__hV(g).pageY;
},getScreenLeft:function(h){return this.__hV(h).screenX;
},getScreenTop:function(j){return this.__hV(j).screenY;
},getViewportLeft:function(k){return this.__hV(k).clientX;
},getViewportTop:function(l){return this.__hV(l).clientY;
},getIdentifier:function(m){return this.__hV(m).identifier;
},__hV:function(n){n=n==null?0:n;
return this.__hW()[n];
},__hW:function(){var o=(this._isTouchEnd()?this.getChangedTargetTouches():this.getTargetTouches());
return o;
},_isTouchEnd:function(){return (this.getType()==a||this.getType()==c);
}}});
})();
(function(){var a="qx.event.type.Tap";
qx.Class.define(a,{extend:qx.event.type.Touch,members:{_isTouchEnd:function(){return true;
}}});
})();
(function(){var a="qx.event.type.Swipe";
qx.Class.define(a,{extend:qx.event.type.Touch,members:{_cloneNativeEvent:function(b,c){var c=qx.event.type.Touch.prototype._cloneNativeEvent.call(this,b,c);
c.swipe=b.swipe;
return c;
},_isTouchEnd:function(){return true;
},getStartTime:function(){return this._native.swipe.startTime;
},getDuration:function(){return this._native.swipe.duration;
},getAxis:function(){return this._native.swipe.axis;
},getDirection:function(){return this._native.swipe.direction;
},getVelocity:function(){return this._native.swipe.velocity;
},getDistance:function(){return this._native.swipe.distance;
}}});
})();
(function(){var h="left",g="right",f="middle",e="none",d="click",c="contextmenu",b="qx.event.type.Mouse",a="qx.client";
qx.Class.define(b,{extend:qx.event.type.Dom,members:{_cloneNativeEvent:function(i,j){var j=qx.event.type.Dom.prototype._cloneNativeEvent.call(this,i,j);
j.button=i.button;
j.clientX=i.clientX;
j.clientY=i.clientY;
j.pageX=i.pageX;
j.pageY=i.pageY;
j.screenX=i.screenX;
j.screenY=i.screenY;
j.wheelDelta=i.wheelDelta;
j.detail=i.detail;
j.srcElement=i.srcElement;
j.target=i.target;
return j;
},__hX:{0:h,2:g,1:f},__hY:{1:h,2:g,4:f},stop:function(){this.stopPropagation();
},getButton:function(){switch(this._type){case c:return g;
case d:if(this.__ia){return this.__ia();
}default:if(this._native.target!==undefined){return this.__hX[this._native.button]||e;
}else{return this.__hY[this._native.button]||e;
}}},__ia:qx.core.Variant.select(a,{"mshtml":function(){return h;
},"default":null}),isLeftPressed:function(){return this.getButton()===h;
},isMiddlePressed:function(){return this.getButton()===f;
},isRightPressed:function(){return this.getButton()===g;
},getRelatedTarget:function(){return this._relatedTarget;
},getViewportLeft:function(){return this._native.clientX;
},getViewportTop:function(){return this._native.clientY;
},getDocumentLeft:function(){if(this._native.pageX!==undefined){return this._native.pageX;
}else{var k=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientX+qx.bom.Viewport.getScrollLeft(k);
}},getDocumentTop:function(){if(this._native.pageY!==undefined){return this._native.pageY;
}else{var l=qx.dom.Node.getWindow(this._native.srcElement);
return this._native.clientY+qx.bom.Viewport.getScrollTop(l);
}},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){if(qx.bom.client.Platform.MAC){return -(this._native.wheelDelta/1200);
}else{return -(this._native.wheelDelta/120);
}}else{if(qx.bom.client.Platform.WIN){var d=120;
if(qx.bom.client.Engine.VERSION==533.16){d=1200;
}}else{d=40;
if(qx.bom.client.Engine.VERSION==533.16||qx.bom.client.Engine.VERSION==533.17||qx.bom.client.Engine.VERSION==533.18){d=1200;
}}return -(this._native.wheelDelta/d);
}}})}});
})();
(function(){var j="qx.client",i="ie",h="msie",g="android",f="operamini",e="mobile chrome",d=")(/| )([0-9]+\.[0-9])",c="iemobile",b="opera mobi",a="Mobile Safari",x="operamobile",w="mobile safari",v="IEMobile|Maxthon|MSIE",u="qx.bom.client.Browser",t="opera mini",s="(",r="opera",q="mshtml",p="Opera Mini|Opera Mobi|Opera",o="AdobeAIR|Titanium|Fluid|Chrome|Android|Epiphany|Konqueror|iCab|OmniWeb|Maxthon|Pre|Mobile Safari|Safari",m="webkit",n="5.0",k="prism|Fennec|Camino|Kmeleon|Galeon|Netscape|SeaMonkey|Firefox",l="Mobile/";
qx.Bootstrap.define(u,{statics:{UNKNOWN:true,NAME:"unknown",TITLE:"unknown 0.0",VERSION:0.0,FULLVERSION:"0.0.0",__ib:function(y){var z=navigator.userAgent;
var B=new RegExp(s+y+d);
var C=z.match(B);

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

while(g&&(g=g.previousSibling)){h++;
}return h;
},getElementIndex:function(i){var j=0;
var k=qx.dom.Node.ELEMENT;

while(i&&(i=i.previousSibling)){if(i.nodeType==k){j++;
}}return j;
},getNextElementSibling:function(l){while(l&&(l=l.nextSibling)&&!qx.dom.Node.isElement(l)){continue;
}return l||null;
},getPreviousElementSibling:function(m){while(m&&(m=m.previousSibling)&&!qx.dom.Node.isElement(m)){continue;
}return m||null;
},contains:qx.core.Variant.select(f,{"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(q,r){return !!(q.compareDocumentPosition(r)&16);
},"default":function(s,t){while(t){if(s==t){return true;
}t=t.parentNode;
}return false;
}}),isRendered:qx.core.Variant.select(f,{"mshtml":function(u){if(!u.parentNode||!u.offsetParent){return false;
}var v=u.ownerDocument||u.document;
return v.body.contains(u);
},"gecko":function(w){var x=w.ownerDocument||w.document;
return !!(x.compareDocumentPosition(w)&16);
},"default":function(y){if(!y.parentNode||!y.offsetParent){return false;
}var z=y.ownerDocument||y.document;
return z.body.contains(y);
}}),isDescendantOf:function(A,B){return this.contains(B,A);
},getCommonParent:qx.core.Variant.select(f,{"mshtml|opera":function(C,D){if(C===D){return C;
}
while(C&&qx.dom.Node.isElement(C)){if(C.contains(D)){return C;
}C=C.parentNode;
}return null;
},"default":function(E,F){if(E===F){return E;
}var G={};
var J=qx.core.ObjectRegistry;
var I,H;

while(E||F){if(E){I=J.toHashCode(E);

if(G[I]){return G[I];
}G[I]=E;
E=E.parentNode;
}
if(F){H=J.toHashCode(F);

if(G[H]){return G[H];
}G[H]=F;
F=F.parentNode;
}}return null;
}}),getAncestors:function(K){return this._recursivelyCollect(K,a);
},getChildElements:function(L){L=L.firstChild;

if(!L){return [];
}var M=this.getNextSiblings(L);

if(L.nodeType===1){M.unshift(L);
}return M;
},getDescendants:function(N){return qx.lang.Array.fromCollection(N.getElementsByTagName(c));
},getFirstDescendant:function(O){O=O.firstChild;

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

while(P&&P.nodeType!=1){P=P.previousSibling;
}return P;
},getPreviousSiblings:function(Q){return this._recursivelyCollect(Q,d);
},getNextSiblings:function(R){return this._recursivelyCollect(R,b);
},_recursivelyCollect:function(S,T){var U=[];

while(S=S[T]){if(S.nodeType==1){U.push(S);
}}return U;
},getSiblings:function(V){return this.getPreviousSiblings(V).reverse().concat(this.getNextSiblings(V));
},isEmpty:function(W){W=W.firstChild;

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

while(Y){var ba=Y.nextSibling;

if(Y.nodeType==3&&!/\S/.test(Y.nodeValue)){X.removeChild(Y);
}Y=ba;
}}}});
})();
(function(){var a="qx.event.type.KeyInput";
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._charCode=d;
return this;
},clone:function(e){var f=qx.event.type.Dom.prototype.clone.call(this,e);
f._charCode=this._charCode;
return f;
},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._keyCode=b.keyCode;
this._identifier=d;
return this;
},clone:function(e){var f=qx.event.type.Dom.prototype.clone.call(this,e);
f._keyCode=this._keyCode;
f._identifier=this._identifier;
return f;
},getKeyIdentifier:function(){return this._identifier;
},getKeyCode:function(){return this._keyCode;
}}});
})();
(function(){var j="qx.client",i="mousedown",h="mouseup",g="blur",f="focus",e="on",d="selectstart",c="DOMFocusOut",b="focusin",a="focusout",z="DOMFocusIn",y="draggesture",x="qx.event.handler.Focus",w="_applyFocus",v="deactivate",u="textarea",t="_applyActive",s='character',r="input",q="qxSelectable",o="tabIndex",p="off",m="activate",n="mshtml",k="qxKeepFocus",l="qxKeepActive";
qx.Class.define(x,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(A){qx.core.Object.call(this);
this._manager=A;
this._window=A.getWindow();
this._document=this._window.document;
this._root=this._document.documentElement;
this._body=this._document.body;
this._initObserver();
},properties:{active:{apply:t,nullable:true},focus:{apply:w,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:{__ic:null,__id:null,__ie:null,__if:null,__ig:null,__ih:null,__ii:null,__ij:null,__ik:null,__il:null,canHandleEvent:function(B,C){},registerEvent:function(D,E,F){},unregisterEvent:function(G,H,I){},focus:function(J){if(qx.core.Variant.isSet(j,n)){window.setTimeout(function(){try{J.focus();
var K=qx.bom.Selection.get(J);

if(K.length==0){var L=J.createTextRange();
L.moveStart(s,J.value.length);
L.collapse();
L.select();
}}catch(M){}},0);
}else{try{J.focus();
}catch(N){}}this.setFocus(J);
this.setActive(J);
},activate:function(O){this.setActive(O);
},blur:function(P){try{P.blur();
}catch(Q){}
if(this.getActive()===P){this.resetActive();
}
if(this.getFocus()===P){this.resetFocus();
}},deactivate:function(R){if(this.getActive()===R){this.resetActive();
}},tryActivate:function(S){var T=this.__iA(S);

if(T){this.setActive(T);
}},__im:function(U,V,W,X){var ba=qx.event.Registration;
var Y=ba.createEvent(W,qx.event.type.Focus,[U,V,X]);
ba.dispatchEvent(U,Y);
},_windowFocused:true,__in:function(){if(this._windowFocused){this._windowFocused=false;
this.__im(this._window,null,g,false);
}},__io:function(){if(!this._windowFocused){this._windowFocused=true;
this.__im(this._window,null,f,false);
}},_initObserver:qx.core.Variant.select(j,{"gecko":function(){this.__ic=qx.lang.Function.listener(this.__iu,this);
this.__id=qx.lang.Function.listener(this.__iv,this);
this.__ie=qx.lang.Function.listener(this.__it,this);
this.__if=qx.lang.Function.listener(this.__is,this);
this.__ig=qx.lang.Function.listener(this.__ip,this);
qx.bom.Event.addNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.addNativeListener(this._document,h,this.__id,true);
qx.bom.Event.addNativeListener(this._window,f,this.__ie,true);
qx.bom.Event.addNativeListener(this._window,g,this.__if,true);
qx.bom.Event.addNativeListener(this._window,y,this.__ig,true);
},"mshtml":function(){this.__ic=qx.lang.Function.listener(this.__iu,this);
this.__id=qx.lang.Function.listener(this.__iv,this);
this.__ii=qx.lang.Function.listener(this.__iq,this);
this.__ij=qx.lang.Function.listener(this.__ir,this);
this.__ih=qx.lang.Function.listener(this.__ix,this);
qx.bom.Event.addNativeListener(this._document,i,this.__ic);
qx.bom.Event.addNativeListener(this._document,h,this.__id);
qx.bom.Event.addNativeListener(this._document,b,this.__ii);
qx.bom.Event.addNativeListener(this._document,a,this.__ij);
qx.bom.Event.addNativeListener(this._document,d,this.__ih);
},"webkit":function(){this.__ic=qx.lang.Function.listener(this.__iu,this);
this.__id=qx.lang.Function.listener(this.__iv,this);
this.__ij=qx.lang.Function.listener(this.__ir,this);
this.__ie=qx.lang.Function.listener(this.__it,this);
this.__if=qx.lang.Function.listener(this.__is,this);
this.__ih=qx.lang.Function.listener(this.__ix,this);
qx.bom.Event.addNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.addNativeListener(this._document,h,this.__id,true);
qx.bom.Event.addNativeListener(this._document,d,this.__ih,false);
qx.bom.Event.addNativeListener(this._window,c,this.__ij,true);
qx.bom.Event.addNativeListener(this._window,f,this.__ie,true);
qx.bom.Event.addNativeListener(this._window,g,this.__if,true);
},"opera":function(){this.__ic=qx.lang.Function.listener(this.__iu,this);
this.__id=qx.lang.Function.listener(this.__iv,this);
this.__ii=qx.lang.Function.listener(this.__iq,this);
this.__ij=qx.lang.Function.listener(this.__ir,this);
qx.bom.Event.addNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.addNativeListener(this._document,h,this.__id,true);
qx.bom.Event.addNativeListener(this._window,z,this.__ii,true);
qx.bom.Event.addNativeListener(this._window,c,this.__ij,true);
}}),_stopObserver:qx.core.Variant.select(j,{"gecko":function(){qx.bom.Event.removeNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.removeNativeListener(this._document,h,this.__id,true);
qx.bom.Event.removeNativeListener(this._window,f,this.__ie,true);
qx.bom.Event.removeNativeListener(this._window,g,this.__if,true);
qx.bom.Event.removeNativeListener(this._window,y,this.__ig,true);
},"mshtml":function(){qx.bom.Event.removeNativeListener(this._document,i,this.__ic);
qx.bom.Event.removeNativeListener(this._document,h,this.__id);
qx.bom.Event.removeNativeListener(this._document,b,this.__ii);
qx.bom.Event.removeNativeListener(this._document,a,this.__ij);
qx.bom.Event.removeNativeListener(this._document,d,this.__ih);
},"webkit":function(){qx.bom.Event.removeNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.removeNativeListener(this._document,h,this.__id,true);
qx.bom.Event.removeNativeListener(this._document,d,this.__ih,false);
qx.bom.Event.removeNativeListener(this._window,c,this.__ij,true);
qx.bom.Event.removeNativeListener(this._window,f,this.__ie,true);
qx.bom.Event.removeNativeListener(this._window,g,this.__if,true);
},"opera":function(){qx.bom.Event.removeNativeListener(this._document,i,this.__ic,true);
qx.bom.Event.removeNativeListener(this._document,h,this.__id,true);
qx.bom.Event.removeNativeListener(this._window,z,this.__ii,true);
qx.bom.Event.removeNativeListener(this._window,c,this.__ij,true);
}}),__ip:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"gecko":function(bb){var bc=qx.bom.Event.getTarget(bb);

if(!this.__iB(bc)){qx.bom.Event.preventDefault(bb);
}},"default":null})),__iq:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml":function(bd){this.__io();
var bf=qx.bom.Event.getTarget(bd);
var be=this.__iz(bf);

if(be){this.setFocus(be);
}this.tryActivate(bf);
},"opera":function(bg){var bh=qx.bom.Event.getTarget(bg);

if(bh==this._document||bh==this._window){this.__io();

if(this.__ik){this.setFocus(this.__ik);
delete this.__ik;
}
if(this.__il){this.setActive(this.__il);
delete this.__il;
}}else{this.setFocus(bh);
this.tryActivate(bh);
if(!this.__iB(bh)){bh.selectionStart=0;
bh.selectionEnd=0;
}}},"default":null})),__ir:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml":function(bi){if(!bi.toElement){this.__in();
this.resetFocus();
this.resetActive();
}},"webkit":function(bj){var bk=qx.bom.Event.getTarget(bj);

if(bk===this.getFocus()){this.resetFocus();
}
if(bk===this.getActive()){this.resetActive();
}},"opera":function(bl){var bm=qx.bom.Event.getTarget(bl);

if(bm==this._document){this.__in();
this.__ik=this.getFocus();
this.__il=this.getActive();
this.resetFocus();
this.resetActive();
}else{if(bm===this.getFocus()){this.resetFocus();
}
if(bm===this.getActive()){this.resetActive();
}}},"default":null})),__is:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"gecko":function(bn){var bo=qx.bom.Event.getTarget(bn);

if(bo===this._window||bo===this._document){this.__in();
this.resetActive();
this.resetFocus();
}},"webkit":function(bp){var bq=qx.bom.Event.getTarget(bp);

if(bq===this._window||bq===this._document){this.__in();
this.__ik=this.getFocus();
this.__il=this.getActive();
this.resetActive();
this.resetFocus();
}},"default":null})),__it:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"gecko":function(br){var bs=qx.bom.Event.getTarget(br);

if(bs===this._window||bs===this._document){this.__io();
bs=this._body;
}this.setFocus(bs);
this.tryActivate(bs);
},"webkit":function(bt){var bu=qx.bom.Event.getTarget(bt);

if(bu===this._window||bu===this._document){this.__io();

if(this.__ik){this.setFocus(this.__ik);
delete this.__ik;
}
if(this.__il){this.setActive(this.__il);
delete this.__il;
}}else{this.setFocus(bu);
this.tryActivate(bu);
}},"default":null})),__iu:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"gecko":function(bv){var bx=qx.bom.Event.getTarget(bv);
var bw=this.__iz(bx);

if(!bw){qx.bom.Event.preventDefault(bv);
}else if(bw===this._body){this.setFocus(bw);
}},"mshtml":function(by){var bA=qx.bom.Event.getTarget(by);
var bz=this.__iz(bA);

if(bz){if(!this.__iB(bA)){bA.unselectable=e;
try{document.selection.empty();
}catch(bB){}try{bz.focus();
}catch(bC){}}}else{qx.bom.Event.preventDefault(by);
if(!this.__iB(bA)){bA.unselectable=e;
}}},"webkit":function(bD){var bF=qx.bom.Event.getTarget(bD);
var bE=this.__iz(bF);

if(bE){this.setFocus(bE);
}else{qx.bom.Event.preventDefault(bD);
}},"opera":function(bG){var bJ=qx.bom.Event.getTarget(bG);
var bH=this.__iz(bJ);

if(!this.__iB(bJ)){qx.bom.Event.preventDefault(bG);
if(bH){var bI=this.getFocus();

if(bI&&bI.selectionEnd){bI.selectionStart=0;
bI.selectionEnd=0;
bI.blur();
}if(bH){this.setFocus(bH);
}}}else if(bH){this.setFocus(bH);
}},"default":null})),__iv:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml":function(bK){var bL=qx.bom.Event.getTarget(bK);

if(bL.unselectable){bL.unselectable=p;
}this.tryActivate(this.__iw(bL));
},"gecko":function(bM){var bN=qx.bom.Event.getTarget(bM);

while(bN&&bN.offsetWidth===undefined){bN=bN.parentNode;
}
if(bN){this.tryActivate(bN);
}},"webkit|opera":function(bO){var bP=qx.bom.Event.getTarget(bO);
this.tryActivate(this.__iw(bP));
},"default":null})),__iw:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml|webkit":function(bQ){var bR=this.getFocus();

if(bR&&bQ!=bR&&(bR.nodeName.toLowerCase()===r||bR.nodeName.toLowerCase()===u)){bQ=bR;
}return bQ;
},"default":function(bS){return bS;
}})),__ix:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml|webkit":function(bT){var bU=qx.bom.Event.getTarget(bT);

if(!this.__iB(bU)){qx.bom.Event.preventDefault(bT);
}},"default":null})),__iy:function(bV){var bW=qx.bom.element.Attribute.get(bV,o);

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

if(bW>=0&&bX[bV.tagName]){return true;
}return false;
},__iz:function(bY){while(bY&&bY.nodeType===1){if(bY.getAttribute(k)==e){return null;
}
if(this.__iy(bY)){return bY;
}bY=bY.parentNode;
}return this._body;
},__iA:function(ca){var cb=ca;

while(ca&&ca.nodeType===1){if(ca.getAttribute(l)==e){return null;
}ca=ca.parentNode;
}return cb;
},__iB:function(cc){while(cc&&cc.nodeType===1){var cd=cc.getAttribute(q);

if(cd!=null){return cd===e;
}cc=cc.parentNode;
}return true;
},_applyActive:function(ce,cf){if(cf){this.__im(cf,ce,v,true);
}
if(ce){this.__im(ce,cf,m,true);
}},_applyFocus:function(cg,ch){if(ch){this.__im(ch,cg,a,true);
}
if(cg){this.__im(cg,ch,b,true);
}if(ch){this.__im(ch,cg,g,false);
}
if(cg){this.__im(cg,ch,f,false);
}}},destruct:function(){this._stopObserver();
this._manager=this._window=this._document=this._root=this._body=this.__iC=null;
},defer:function(ci){qx.event.Registration.addHandler(ci);
var cj=ci.FOCUSABLE_ELEMENTS;

for(var ck in cj){cj[ck.toUpperCase()]=1;
}}});
})();
(function(){var k="qx.client",j="character",i="EndToEnd",h="input",g="textarea",f="StartToStart",e='character',d="qx.bom.Selection",c="button",b="#text",a="body";
qx.Class.define(d,{statics:{getSelectionObject:qx.core.Variant.select(k,{"mshtml":function(l){return l.selection;
},"default":function(m){return qx.dom.Node.getWindow(m).getSelection();
}}),get:qx.core.Variant.select(k,{"mshtml":function(n){var o=qx.bom.Range.get(qx.dom.Node.getDocument(n));
return o.text;
},"default":function(p){if(this.__iD(p)){return p.value.substring(p.selectionStart,p.selectionEnd);
}else{return this.getSelectionObject(qx.dom.Node.getDocument(p)).toString();
}}}),getLength:qx.core.Variant.select(k,{"mshtml":function(q){var s=this.get(q);
var r=qx.util.StringSplit.split(s,/\r\n/);
return s.length-(r.length-1);
},"opera":function(t){var y,w,u;

if(this.__iD(t)){var x=t.selectionStart;
var v=t.selectionEnd;
y=t.value.substring(x,v);
w=v-x;
}else{y=qx.bom.Selection.get(t);
w=y.length;
}u=qx.util.StringSplit.split(y,/\r\n/);
return w-(u.length-1);
},"default":function(z){if(this.__iD(z)){return z.selectionEnd-z.selectionStart;
}else{return this.get(z).length;
}}}),getStart:qx.core.Variant.select(k,{"mshtml":function(A){if(this.__iD(A)){var F=qx.bom.Range.get();
if(!A.contains(F.parentElement())){return -1;
}var G=qx.bom.Range.get(A);
var E=A.value.length;
G.moveToBookmark(F.getBookmark());
G.moveEnd(e,E);
return E-G.text.length;
}else{var G=qx.bom.Range.get(A);
var C=G.parentElement();
var H=qx.bom.Range.get();
H.moveToElementText(C);
var B=qx.bom.Range.get(qx.dom.Node.getBodyElement(A));
B.setEndPoint(f,G);
B.setEndPoint(i,H);
if(H.compareEndPoints(f,B)==0){return 0;
}var D;
var I=0;

while(true){D=B.moveStart(j,-1);
if(H.compareEndPoints(f,B)==0){break;
}if(D==0){break;
}else{I++;
}}return ++I;
}},"gecko|webkit":function(J){if(this.__iD(J)){return J.selectionStart;
}else{var L=qx.dom.Node.getDocument(J);
var K=this.getSelectionObject(L);
if(K.anchorOffset<K.focusOffset){return K.anchorOffset;
}else{return K.focusOffset;
}}},"default":function(M){if(this.__iD(M)){return M.selectionStart;
}else{return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(M)).anchorOffset;
}}}),getEnd:qx.core.Variant.select(k,{"mshtml":function(N){if(this.__iD(N)){var S=qx.bom.Range.get();
if(!N.contains(S.parentElement())){return -1;
}var T=qx.bom.Range.get(N);
var R=N.value.length;
T.moveToBookmark(S.getBookmark());
T.moveStart(e,-R);
return T.text.length;
}else{var T=qx.bom.Range.get(N);
var P=T.parentElement();
var U=qx.bom.Range.get();
U.moveToElementText(P);
var R=U.text.length;
var O=qx.bom.Range.get(qx.dom.Node.getBodyElement(N));
O.setEndPoint(i,T);
O.setEndPoint(f,U);
if(U.compareEndPoints(i,O)==0){return R-1;
}var Q;
var V=0;

while(true){Q=O.moveEnd(j,1);
if(U.compareEndPoints(i,O)==0){break;
}if(Q==0){break;
}else{V++;
}}return R-(++V);
}},"gecko|webkit":function(W){if(this.__iD(W)){return W.selectionEnd;
}else{var Y=qx.dom.Node.getDocument(W);
var X=this.getSelectionObject(Y);
if(X.focusOffset>X.anchorOffset){return X.focusOffset;
}else{return X.anchorOffset;
}}},"default":function(ba){if(this.__iD(ba)){return ba.selectionEnd;
}else{return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(ba)).focusOffset;
}}}),__iD:function(bb){return qx.dom.Node.isElement(bb)&&(bb.nodeName.toLowerCase()==h||bb.nodeName.toLowerCase()==g);
},set:qx.core.Variant.select(k,{"mshtml":function(bc,bd,be){var bf;
if(qx.dom.Node.isDocument(bc)){bc=bc.body;
}
if(qx.dom.Node.isElement(bc)||qx.dom.Node.isText(bc)){switch(bc.nodeName.toLowerCase()){case h:case g:case c:if(be===undefined){be=bc.value.length;
}
if(bd>=0&&bd<=bc.value.length&&be>=0&&be<=bc.value.length){bf=qx.bom.Range.get(bc);
bf.collapse(true);
bf.moveStart(j,bd);
bf.moveEnd(j,be-bd);
bf.select();
return true;
}break;
case b:if(be===undefined){be=bc.nodeValue.length;
}
if(bd>=0&&bd<=bc.nodeValue.length&&be>=0&&be<=bc.nodeValue.length){bf=qx.bom.Range.get(qx.dom.Node.getBodyElement(bc));
bf.moveToElementText(bc.parentNode);
bf.collapse(true);
bf.moveStart(j,bd);
bf.moveEnd(j,be-bd);
bf.select();
return true;
}break;
default:if(be===undefined){be=bc.childNodes.length-1;
}if(bc.childNodes[bd]&&bc.childNodes[be]){bf=qx.bom.Range.get(qx.dom.Node.getBodyElement(bc));
bf.moveToElementText(bc.childNodes[bd]);
bf.collapse(true);
var bg=qx.bom.Range.get(qx.dom.Node.getBodyElement(bc));
bg.moveToElementText(bc.childNodes[be]);
bf.setEndPoint(i,bg);
bf.select();
return true;
}}}return false;
},"default":function(bh,bi,bj){var bn=bh.nodeName.toLowerCase();

if(qx.dom.Node.isElement(bh)&&(bn==h||bn==g)){if(bj===undefined){bj=bh.value.length;
}if(bi>=0&&bi<=bh.value.length&&bj>=0&&bj<=bh.value.length){bh.focus();
bh.select();
bh.setSelectionRange(bi,bj);
return true;
}}else{var bl=false;
var bm=qx.dom.Node.getWindow(bh).getSelection();
var bk=qx.bom.Range.get(bh);
if(qx.dom.Node.isText(bh)){if(bj===undefined){bj=bh.length;
}
if(bi>=0&&bi<bh.length&&bj>=0&&bj<=bh.length){bl=true;
}}else if(qx.dom.Node.isElement(bh)){if(bj===undefined){bj=bh.childNodes.length-1;
}
if(bi>=0&&bh.childNodes[bi]&&bj>=0&&bh.childNodes[bj]){bl=true;
}}else if(qx.dom.Node.isDocument(bh)){bh=bh.body;

if(bj===undefined){bj=bh.childNodes.length-1;
}
if(bi>=0&&bh.childNodes[bi]&&bj>=0&&bh.childNodes[bj]){bl=true;
}}
if(bl){if(!bm.isCollapsed){bm.collapseToStart();
}bk.setStart(bh,bi);
if(qx.dom.Node.isText(bh)){bk.setEnd(bh,bj);
}else{bk.setEndAfter(bh.childNodes[bj]);
}if(bm.rangeCount>0){bm.removeAllRanges();
}bm.addRange(bk);
return true;
}}return false;
}}),setAll:function(bo){return qx.bom.Selection.set(bo,0);
},clear:qx.core.Variant.select(k,{"mshtml":function(bp){var bq=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(bp));
var br=qx.bom.Range.get(bp);
var parent=br.parentElement();
var bs=qx.bom.Range.get(qx.dom.Node.getDocument(bp));
if(parent==bs.parentElement()&&parent==bp){bq.empty();
}},"default":function(bt){var bv=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(bt));
var bx=bt.nodeName.toLowerCase();
if(qx.dom.Node.isElement(bt)&&(bx==h||bx==g)){bt.setSelectionRange(0,0);
qx.bom.Element.blur(bt);
}else if(qx.dom.Node.isDocument(bt)||bx==a){bv.collapse(bt.body?bt.body:bt,0);
}else{var bw=qx.bom.Range.get(bt);

if(!bw.collapsed){var by;
var bu=bw.commonAncestorContainer;
if(qx.dom.Node.isElement(bt)&&qx.dom.Node.isText(bu)){by=bu.parentNode;
}else{by=bu;
}
if(by==bt){bv.collapse(bt,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(m){if(qx.dom.Node.isElement(m)){switch(m.nodeName.toLowerCase()){case d:switch(m.type){case j:case i:case c:case l:case f:case h:case g:return m.createTextRange();
break;
default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();
}break;
case e:case b:case l:return m.createTextRange();
break;
default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();
}}else{if(m==null){m=window;
}return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();
}},"default":function(n){var o=qx.dom.Node.getDocument(n);
var p=qx.bom.Selection.getSelectionObject(o);

if(p.rangeCount>0){return p.getRangeAt(0);
}else{return o.createRange();
}}})}});
})();
(function(){var j="",h="m",g="g",f="^",e="qx.util.StringSplit",d="i",c="$(?!\\s)",b="[object RegExp]",a="y";
qx.Class.define(e,{statics:{split:function(k,l,m){if(Object.prototype.toString.call(l)!==b){return String.prototype.split.call(k,l,m);
}var t=[],n=0,r=(l.ignoreCase?d:j)+(l.multiline?h:j)+(l.sticky?a:j),l=RegExp(l.source,r+g),q,u,o,p,s=/()??/.exec(j)[1]===undefined;
k=k+j;

if(!s){q=RegExp(f+l.source+c,r);
}if(m===undefined||+m<0){m=Infinity;
}else{m=Math.floor(+m);

if(!m){return [];
}}
while(u=l.exec(k)){o=u.index+u[0].length;

if(o>n){t.push(k.slice(n,u.index));
if(!s&&u.length>1){u[0].replace(q,function(){for(var i=1;i<arguments.length-2;i++){if(arguments[i]===undefined){u[i]=undefined;
}}});
}
if(u.length>1&&u.index<k.length){Array.prototype.push.apply(t,u.slice(1));
}p=u[0].length;
n=o;

if(t.length>=m){break;
}}
if(l.lastIndex===u.index){l.lastIndex++;
}}
if(n===k.length){if(p||!l.test(j)){t.push(j);
}}else{t.push(k.slice(n));
}return t.length>m?t.slice(0,m):t;
}}});
})();
(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 j="",i="undefined",h="qx.client",g="readOnly",f="accessKey",e="qx.bom.element.Attribute",d="rowSpan",c="vAlign",b="className",a="textContent",y="'",x="htmlFor",w="longDesc",v="cellSpacing",u="frameBorder",t="='",s="useMap",r="innerText",q="innerHTML",p="tabIndex",n="dateTime",o="maxLength",l="mshtml",m="cellPadding",k="colSpan";
qx.Class.define(e,{statics:{__iE:{names:{"class":b,"for":x,html:q,text:qx.core.Variant.isSet(h,l)?r:a,colspan:k,rowspan:d,valign:c,datetime:n,accesskey:f,tabindex:p,maxlength:o,readonly:g,longdesc:w,cellpadding:m,cellspacing:v,frameborder:u,usemap:s},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:j,className:j,innerHTML:j,innerText:j,textContent:j,htmlFor:j,tabIndex:0,maxLength:qx.core.Variant.select(h,{"mshtml":2147483647,"webkit":524288,"default":-1})},removeableProperties:{disabled:1,multiple:1,maxLength:1},original:{href:1,src:1,type:1}},compile:function(z){var A=[];
var C=this.__iE.runtime;

for(var B in z){if(!C[B]){A.push(B,t,z[B],y);
}}return A.join(j);
},get:qx.core.Variant.select(h,{"mshtml":function(D,name){var F=this.__iE;
var E;
name=F.names[name]||name;
if(F.original[name]){E=D.getAttribute(name,2);
}else if(F.property[name]){E=D[name];

if(typeof F.propertyDefault[name]!==i&&E==F.propertyDefault[name]){if(typeof F.bools[name]===i){return null;
}else{return E;
}}}else{E=D.getAttribute(name);
}if(F.bools[name]){return !!E;
}return E;
},"default":function(G,name){var I=this.__iE;
var H;
name=I.names[name]||name;
if(I.property[name]){H=G[name];

if(typeof I.propertyDefault[name]!==i&&H==I.propertyDefault[name]){if(typeof I.bools[name]===i){return null;
}else{return H;
}}}else{H=G.getAttribute(name);
}if(I.bools[name]){return !!H;
}return H;
}}),set:function(J,name,K){if(typeof K===i){return;
}var L=this.__iE;
name=L.names[name]||name;
if(L.bools[name]){K=!!K;
}if(L.property[name]&&(!(J[name]===undefined)||L.qxProperties[name])){if(K==null){if(L.removeableProperties[name]){J.removeAttribute(name);
return;
}else if(typeof L.propertyDefault[name]!==i){K=L.propertyDefault[name];
}}J[name]=K;
}else{if(K===true){J.setAttribute(name,name);
}else if(K===false||K===null){J.removeAttribute(name);
}else{J.setAttribute(name,K);
}}},reset:function(M,name){this.set(M,name,null);
}}});
})();
(function(){var a="qx.event.type.Drag";
qx.Class.define(a,{extend:qx.event.type.Event,members:{init:function(b,c){qx.event.type.Event.prototype.init.call(this,true,b);

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

if(this.__iH===p&&this.__iI==q){return;
}
if(this.__iH){this.releaseCapture();
}this.nativeSetCapture(p,q);

if(this.hasNativeCapture){var self=this;
qx.bom.Event.addNativeListener(p,h,function(){qx.bom.Event.removeNativeListener(p,h,arguments.callee);
self.releaseCapture();
});
}this.__iI=q;
this.__iH=p;
this.__iG.fireEvent(p,b,qx.event.type.Event,[true,false]);
},getCaptureElement:function(){return this.__iH;
},releaseCapture:function(){var r=this.__iH;

if(!r){return;
}this.__iH=null;
this.__iG.fireEvent(r,h,qx.event.type.Event,[true,false]);
this.nativeReleaseCapture(r);
},hasNativeCapture:qx.bom.client.Engine.MSHTML,nativeSetCapture:qx.core.Variant.select(g,{"mshtml":function(s,t){qx.event.Timer.once(function(){s.setCapture(t!==false);
},this,0);
},"default":qx.lang.Function.empty}),nativeReleaseCapture:qx.core.Variant.select(g,{"mshtml":function(u){qx.event.Timer.once(function(){u.releaseCapture();
},this,0);
},"default":qx.lang.Function.empty})},destruct:function(){this.__iH=this.__iF=this.__iG=null;
},defer:function(v){qx.event.Registration.addDispatcher(v);
}});
})();
(function(){var c="qx.bom.Selector";
qx.Class.define(c,{statics:{query:null,matches:null}});
(function(){var o=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,v=0,r=Object.prototype.toString,p=false,x=true;
[0,0].sort(function(){x=false;
return 0;
});
var g=function(z,A,B,C){B=B||[];
A=A||document;
var L=A;

if(A.nodeType!==1&&A.nodeType!==9){return [];
}
if(!z||typeof z!=="string"){return B;
}var m,F,D,H,J,G,M,i,N=true,E=g.isXML(A),I=[],K=z;
do{o.exec("");
m=o.exec(K);

if(m){K=m[3];
I.push(m[1]);

if(m[2]){H=m[3];
break;
}}}while(m);

if(I.length>1&&q.exec(z)){if(I.length===2&&k.relative[I[0]]){F=h(I[0]+I[1],A);
}else{F=k.relative[I[0]]?[A]:g(I.shift(),A);

while(I.length){z=I.shift();

if(k.relative[z]){z+=I.shift();
}F=h(z,F);
}}}else{if(!C&&I.length>1&&A.nodeType===9&&!E&&k.match.ID.test(I[0])&&!k.match.ID.test(I[I.length-1])){J=g.find(I.shift(),A,E);
A=J.expr?g.filter(J.expr,J.set)[0]:J.set[0];
}
if(A){J=C?
{expr:I.pop(),set:f(C)}:g.find(I.pop(),I.length===1&&(I[0]==="~"||I[0]==="+")&&A.parentNode?A.parentNode:A,E);
F=J.expr?g.filter(J.expr,J.set):J.set;

if(I.length>0){D=f(F);
}else{N=false;
}
while(I.length){G=I.pop();
M=G;

if(!k.relative[G]){G="";
}else{M=I.pop();
}
if(M==null){M=A;
}k.relative[G](D,M,E);
}}else{D=I=[];
}}
if(!D){D=F;
}
if(!D){g.error(G||z);
}
if(r.call(D)==="[object Array]"){if(!N){B.push.apply(B,D);
}else if(A&&A.nodeType===1){for(i=0;D[i]!=null;i++){if(D[i]&&(D[i]===true||D[i].nodeType===1&&g.contains(A,D[i]))){B.push(F[i]);
}}}else{for(i=0;D[i]!=null;i++){if(D[i]&&D[i].nodeType===1){B.push(F[i]);
}}}}else{f(D,B);
}
if(H){g(H,L,B,C);
g.uniqueSort(B);
}return B;
};
g.uniqueSort=function(O){if(s){p=x;
O.sort(s);

if(p){for(var i=1;i<O.length;i++){if(O[i]===O[i-1]){O.splice(i--,1);
}}}}return O;
};
g.matches=function(P,Q){return g(P,null,null,Q);
};
g.matchesSelector=function(R,S){return g(S,null,null,[R]).length>0;
};
g.find=function(T,U,V){var W;

if(!T){return [];
}
for(var i=0,l=k.order.length;i<l;i++){var Y,X=k.order[i];

if((Y=k.leftMatch[X].exec(T))){var ba=Y[1];
Y.splice(1,1);

if(ba.substr(ba.length-1)!=="\\"){Y[1]=(Y[1]||"").replace(/\\/g,"");
W=k.find[X](Y,U,V);

if(W!=null){T=T.replace(k.match[X],"");
break;
}}}}
if(!W){W=U.getElementsByTagName("*");
}return {set:W,expr:T};
};
g.filter=function(bb,bc,bd,be){var br,bq,bf=bb,bk=[],bg=bc,bh=bc&&bc[0]&&g.isXML(bc[0]);

while(bb&&bc.length){for(var bo in k.filter){if((br=k.leftMatch[bo].exec(bb))!=null&&br[2]){var bn,bj,bi=k.filter[bo],bs=br[1];
bq=false;
br.splice(1,1);

if(bs.substr(bs.length-1)==="\\"){continue;
}
if(bg===bk){bk=[];
}
if(k.preFilter[bo]){br=k.preFilter[bo](br,bg,bd,bk,be,bh);

if(!br){bq=bn=true;
}else if(br===true){continue;
}}
if(br){for(var i=0;(bj=bg[i])!=null;i++){if(bj){bn=bi(bj,br,i,bg);
var bm=be^!!bn;

if(bd&&bn!=null){if(bm){bq=true;
}else{bg[i]=false;
}}else if(bm){bk.push(bj);
bq=true;
}}}}
if(bn!==undefined){if(!bd){bg=bk;
}bb=bb.replace(k.match[bo],"");

if(!bq){return [];
}break;
}}}if(bb===bf){if(bq==null){g.error(bb);
}else{break;
}}bf=bb;
}return bg;
};
g.error=function(bt){throw "Syntax error, unrecognized expression: "+bt;
};
var k=g.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(bu){return bu.getAttribute("href");
}},relative:{"+":function(bv,bw){var bx=typeof bw==="string",bz=bx&&!/\W/.test(bw),bA=bx&&!bz;

if(bz){bw=bw.toLowerCase();
}
for(var i=0,l=bv.length,by;i<l;i++){if((by=bv[i])){while((by=by.previousSibling)&&by.nodeType!==1){}bv[i]=bA||by&&by.nodeName.toLowerCase()===bw?by||false:by===bw;
}}
if(bA){g.filter(bw,bv,true);
}},">":function(bB,bC){var bE,bD=typeof bC==="string",i=0,l=bB.length;

if(bD&&!/\W/.test(bC)){bC=bC.toLowerCase();

for(;i<l;i++){bE=bB[i];

if(bE){var parent=bE.parentNode;
bB[i]=parent.nodeName.toLowerCase()===bC?parent:false;
}}}else{for(;i<l;i++){bE=bB[i];

if(bE){bB[i]=bD?bE.parentNode:bE.parentNode===bC;
}}
if(bD){g.filter(bC,bB,true);
}}},"":function(bF,bG,bH){var bK,bI=v++,bJ=w;

if(typeof bG==="string"&&!/\W/.test(bG)){bG=bG.toLowerCase();
bK=bG;
bJ=y;
}bJ("parentNode",bG,bI,bF,bK,bH);
},"~":function(bL,bM,bN){var bQ,bO=v++,bP=w;

if(typeof bM==="string"&&!/\W/.test(bM)){bM=bM.toLowerCase();
bQ=bM;
bP=y;
}bP("previousSibling",bM,bO,bL,bQ,bN);
}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var m=bS.getElementById(bR[1]);
return m&&m.parentNode?[m]:[];
}},NAME:function(bU,bV){if(typeof bV.getElementsByName!=="undefined"){var bX=[],bW=bV.getElementsByName(bU[1]);

for(var i=0,l=bW.length;i<l;i++){if(bW[i].getAttribute("name")===bU[1]){bX.push(bW[i]);
}}return bX.length===0?null:bX;
}},TAG:function(bY,ca){return ca.getElementsByTagName(bY[1]);
}},preFilter:{CLASS:function(cb,cc,cd,ce,cf,cg){cb=" "+cb[1].replace(/\\/g,"")+" ";

if(cg){return cb;
}
for(var i=0,ch;(ch=cc[i])!=null;i++){if(ch){if(cf^(ch.className&&(" "+ch.className+" ").replace(/[\t\n]/g," ").indexOf(cb)>=0)){if(!cd){ce.push(ch);
}}else if(cd){cc[i]=false;
}}}return false;
},ID:function(ci){return ci[1].replace(/\\/g,"");
},TAG:function(cj,ck){return cj[1].toLowerCase();
},CHILD:function(cl){if(cl[1]==="nth"){var cm=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(cl[2]==="even"&&"2n"||cl[2]==="odd"&&"2n+1"||!/\D/.test(cl[2])&&"0n+"+cl[2]||cl[2]);
cl[2]=(cm[1]+(cm[2]||1))-0;
cl[3]=cm[3]-0;
}cl[0]=v++;
return cl;
},ATTR:function(cn,co,cp,cq,cr,cs){var name=cn[1].replace(/\\/g,"");

if(!cs&&k.attrMap[name]){cn[1]=k.attrMap[name];
}
if(cn[2]==="~="){cn[4]=" "+cn[4]+" ";
}return cn;
},PSEUDO:function(ct,cu,cv,cw,cx){if(ct[1]==="not"){if((o.exec(ct[3])||"").length>1||/^\w/.test(ct[3])){ct[3]=g(ct[3],null,null,cu);
}else{var cy=g.filter(ct[3],cu,cv,true^cx);

if(!cv){cw.push.apply(cw,cy);
}return false;
}}else if(k.match.POS.test(ct[0])||k.match.CHILD.test(ct[0])){return true;
}return ct;
},POS:function(cz){cz.unshift(true);
return cz;
}},filters:{enabled:function(cA){return cA.disabled===false&&cA.type!=="hidden";
},disabled:function(cB){return cB.disabled===true;
},checked:function(cC){return cC.checked===true;
},selected:function(cD){cD.parentNode.selectedIndex;
return cD.selected===true;
},parent:function(cE){return !!cE.firstChild;
},empty:function(cF){return !cF.firstChild;
},has:function(cG,i,cH){return !!g(cH[3],cG).length;
},header:function(cI){return (/h\d/i).test(cI.nodeName);
},text:function(cJ){return "text"===cJ.type;
},radio:function(cK){return "radio"===cK.type;
},checkbox:function(cL){return "checkbox"===cL.type;
},file:function(cM){return "file"===cM.type;
},password:function(cN){return "password"===cN.type;
},submit:function(cO){return "submit"===cO.type;
},image:function(cP){return "image"===cP.type;
},reset:function(cQ){return "reset"===cQ.type;
},button:function(cR){return "button"===cR.type||cR.nodeName.toLowerCase()==="button";
},input:function(cS){return (/input|select|textarea|button/i).test(cS.nodeName);
}},setFilters:{first:function(cT,i){return i===0;
},last:function(cU,i,cV,cW){return i===cW.length-1;
},even:function(cX,i){return i%2===0;
},odd:function(cY,i){return i%2===1;
},lt:function(da,i,db){return i<db[3]-0;
},gt:function(dc,i,dd){return i>dd[3]-0;
},nth:function(de,i,df){return df[3]-0===i;
},eq:function(dg,i,dh){return dh[3]-0===i;
}},filter:{PSEUDO:function(di,dj,i,dk){var name=dj[1],dl=k.filters[name];

if(dl){return dl(di,i,dj,dk);
}else if(name==="contains"){return (di.textContent||di.innerText||g.getText([di])||"").indexOf(dj[3])>=0;
}else if(name==="not"){var dm=dj[3];

for(var j=0,l=dm.length;j<l;j++){if(dm[j]===di){return false;
}}return true;
}else{g.error("Syntax error, unrecognized expression: "+name);
}},CHILD:function(dn,dp){var dv=dp[1],dq=dn;

switch(dv){case "only":case "first":while((dq=dq.previousSibling)){if(dq.nodeType===1){return false;
}}
if(dv==="first"){return true;
}dq=dn;
case "last":while((dq=dq.nextSibling)){if(dq.nodeType===1){return false;
}}return true;
case "nth":var dw=dp[2],ds=dp[3];

if(dw===1&&ds===0){return true;
}var du=dp[0],parent=dn.parentNode;

if(parent&&(parent.sizcache!==du||!dn.nodeIndex)){var dr=0;

for(dq=parent.firstChild;dq;dq=dq.nextSibling){if(dq.nodeType===1){dq.nodeIndex=++dr;
}}parent.sizcache=du;
}var dt=dn.nodeIndex-ds;

if(dw===0){return dt===0;
}else{return (dt%dw===0&&dt/dw>=0);
}}},ID:function(dx,dy){return dx.nodeType===1&&dx.getAttribute("id")===dy;
},TAG:function(dz,dA){return (dA==="*"&&dz.nodeType===1)||dz.nodeName.toLowerCase()===dA;
},CLASS:function(dB,dC){return (" "+(dB.className||dB.getAttribute("class"))+" ").indexOf(dC)>-1;
},ATTR:function(dD,dE){var name=dE[1],dI=k.attrHandle[name]?k.attrHandle[name](dD):dD[name]!=null?dD[name]:dD.getAttribute(name),dH=dI+"",dG=dE[2],dF=dE[4];
return dI==null?dG==="!=":dG==="="?dH===dF:dG==="*="?dH.indexOf(dF)>=0:dG==="~="?(" "+dH+" ").indexOf(dF)>=0:!dF?dH&&dI!==false:dG==="!="?dH!==dF:dG==="^="?dH.indexOf(dF)===0:dG==="$="?dH.substr(dH.length-dF.length)===dF:dG==="|="?dH===dF||dH.substr(0,dF.length+1)===dF+"-":false;
},POS:function(dJ,dK,i,dL){var name=dK[2],dM=k.setFilters[name];

if(dM){return dM(dJ,i,dK,dL);
}}}};
var q=k.match.POS,d=function(dN,dO){return "\\"+(dO-0+1);
};

for(var u in k.match){k.match[u]=new RegExp(k.match[u].source+(/(?![^\[]*\])(?![^\(]*\))/.source));
k.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+k.match[u].source.replace(/\\(\d+)/g,d));
}var f=function(dP,dQ){dP=Array.prototype.slice.call(dP,0);

if(dQ){dQ.push.apply(dQ,dP);
return dQ;
}return dP;
};
try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;
}catch(e){f=function(dR,dS){var i=0,dT=dS||[];

if(r.call(dR)==="[object Array]"){Array.prototype.push.apply(dT,dR);
}else{if(typeof dR.length==="number"){for(var l=dR.length;i<l;i++){dT.push(dR[i]);
}}else{for(;dR[i];i++){dT.push(dR[i]);
}}}return dT;
};
}var s,n;

if(document.documentElement.compareDocumentPosition){s=function(a,b){if(a===b){p=true;
return 0;
}
if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1;
}return a.compareDocumentPosition(b)&4?-1:1;
};
}else{s=function(a,b){var dY,dW,ea=[],eb=[],dV=a.parentNode,dX=b.parentNode,dU=dV;
if(a===b){p=true;
return 0;
}else if(dV===dX){return n(a,b);
}else if(!dV){return -1;
}else if(!dX){return 1;
}while(dU){ea.unshift(dU);
dU=dU.parentNode;
}dU=dX;

while(dU){eb.unshift(dU);
dU=dU.parentNode;
}dY=ea.length;
dW=eb.length;
for(var i=0;i<dY&&i<dW;i++){if(ea[i]!==eb[i]){return n(ea[i],eb[i]);
}}return i===dY?n(a,eb[i],-1):n(ea[i],b,1);
};
n=function(a,b,ec){if(a===b){return ec;
}var ed=a.nextSibling;

while(ed){if(ed===b){return -1;
}ed=ed.nextSibling;
}return 1;
};
}g.getText=function(ee){var eg="",ef;

for(var i=0;ee[i];i++){ef=ee[i];
if(ef.nodeType===3||ef.nodeType===4){eg+=ef.nodeValue;
}else if(ef.nodeType!==8){eg+=g.getText(ef.childNodes);
}}return eg;
};
(function(){var ej=document.createElement("div"),ei="script"+(new Date()).getTime(),eh=document.documentElement;
ej.innerHTML="<a name='"+ei+"'/>";
eh.insertBefore(ej,eh.firstChild);
if(document.getElementById(ei)){k.find.ID=function(ek,el,em){if(typeof el.getElementById!=="undefined"&&!em){var m=el.getElementById(ek[1]);
return m?m.id===ek[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===ek[1]?[m]:undefined:[];
}};
k.filter.ID=function(en,eo){var ep=typeof en.getAttributeNode!=="undefined"&&en.getAttributeNode("id");
return en.nodeType===1&&ep&&ep.nodeValue===eo;
};
}eh.removeChild(ej);
eh=ej=null;
})();
(function(){var eq=document.createElement("div");
eq.appendChild(document.createComment(""));
if(eq.getElementsByTagName("*").length>0){k.find.TAG=function(er,es){var eu=es.getElementsByTagName(er[1]);
if(er[1]==="*"){var et=[];

for(var i=0;eu[i];i++){if(eu[i].nodeType===1){et.push(eu[i]);
}}eu=et;
}return eu;
};
}eq.innerHTML="<a href='#'></a>";

if(eq.firstChild&&typeof eq.firstChild.getAttribute!=="undefined"&&eq.firstChild.getAttribute("href")!=="#"){k.attrHandle.href=function(ev){return ev.getAttribute("href",2);
};
}eq=null;
})();

if(document.querySelectorAll){(function(){var ex=g,ew=document.createElement("div"),ey="__sizzle__";
ew.innerHTML="<p class='TEST'></p>";
if(ew.querySelectorAll&&ew.querySelectorAll(".TEST").length===0){return;
}g=function(eA,eB,eC,eD){eB=eB||document;
eA=eA.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");
if(!eD&&!g.isXML(eB)){if(eB.nodeType===9){try{return f(eB.querySelectorAll(eA),eC);
}catch(eG){}}else if(eB.nodeType===1&&eB.nodeName.toLowerCase()!=="object"){var eE=eB.getAttribute("id"),eF=eE||ey;

if(!eE){eB.setAttribute("id",eF);
}
try{return f(eB.querySelectorAll("#"+eF+" "+eA),eC);
}catch(eH){}finally{if(!eE){eB.removeAttribute("id");
}}}}return ex(eA,eB,eC,eD);
};

for(var ez in ex){g[ez]=ex[ez];
}ew=null;
})();
}(function(){var eK=document.documentElement,eI=eK.matchesSelector||eK.mozMatchesSelector||eK.webkitMatchesSelector||eK.msMatchesSelector,eJ=false;

try{eI.call(document.documentElement,"[test!='']:sizzle");
}catch(eL){eJ=true;
}
if(eI){g.matchesSelector=function(eM,eN){eN=eN.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");

if(!g.isXML(eM)){try{if(eJ||!k.match.PSEUDO.test(eN)&&!/!=/.test(eN)){return eI.call(eM,eN);
}}catch(e){}}return g(eN,null,null,[eM]).length>0;
};
}})();
(function(){var eO=document.createElement("div");
eO.innerHTML="<div class='test e'></div><div class='test'></div>";
if(!eO.getElementsByClassName||eO.getElementsByClassName("e").length===0){return;
}eO.lastChild.className="e";

if(eO.getElementsByClassName("e").length===1){return;
}k.order.splice(1,0,"CLASS");
k.find.CLASS=function(eP,eQ,eR){if(typeof eQ.getElementsByClassName!=="undefined"&&!eR){return eQ.getElementsByClassName(eP[1]);
}};
eO=null;
})();
function y(eS,eT,eU,eV,eW,eX){for(var i=0,l=eV.length;i<l;i++){var fa=eV[i];

if(fa){var eY=false;
fa=fa[eS];

while(fa){if(fa.sizcache===eU){eY=eV[fa.sizset];
break;
}
if(fa.nodeType===1&&!eX){fa.sizcache=eU;
fa.sizset=i;
}
if(fa.nodeName.toLowerCase()===eT){eY=fa;
break;
}fa=fa[eS];
}eV[i]=eY;
}}}function w(fb,fc,fd,fe,ff,fg){for(var i=0,l=fe.length;i<l;i++){var fi=fe[i];

if(fi){var fh=false;
fi=fi[fb];

while(fi){if(fi.sizcache===fd){fh=fe[fi.sizset];
break;
}
if(fi.nodeType===1){if(!fg){fi.sizcache=fd;
fi.sizset=i;
}
if(typeof fc!=="string"){if(fi===fc){fh=true;
break;
}}else if(g.filter(fc,[fi]).length>0){fh=fi;
break;
}}fi=fi[fb];
}fe[i]=fh;
}}}
if(document.documentElement.contains){g.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true);
};
}else if(document.documentElement.compareDocumentPosition){g.contains=function(a,b){return !!(a.compareDocumentPosition(b)&16);
};
}else{g.contains=function(){return false;
};
}g.isXML=function(fj){var fk=(fj?fj.ownerDocument||fj:0).documentElement;
return fk?fk.nodeName!=="HTML":false;
};
var h=function(fl,fm){var fq,fo=[],fn="",fp=fm.nodeType?[fm]:fm;
while((fq=k.match.PSEUDO.exec(fl))){fn+=fq[0];
fl=fl.replace(k.match.PSEUDO,"");
}fl=k.relative[fl]?fl+"*":fl;

for(var i=0,l=fp.length;i<l;i++){g(fl,fp[i],fo);
}return g.filter(fn,fo);
};
var t=qx.bom.Selector;
t.query=function(fr,fs){return g(fr,fs);
};
t.matches=function(ft,fu){return g(ft,null,null,fu);
};
})();
})();
(function(){var r="qx.client",q="",p="mshtml",o="'",n="SelectionLanguage",m="qx.xml.Document",k=" />",j="MSXML2.DOMDocument.3.0",h='<\?xml version="1.0" encoding="utf-8"?>\n<',g="MSXML2.XMLHTTP.3.0",c="MSXML2.XMLHTTP.6.0",f=" xmlns='",e="text/xml",b="XPath",a="MSXML2.DOMDocument.6.0",d="HTML";
qx.Class.define(m,{statics:{DOMDOC:null,XMLHTTP:null,isXmlDocument:function(s){if(s.nodeType===9){return s.documentElement.nodeName!==d;
}else if(s.ownerDocument){return this.isXmlDocument(s.ownerDocument);
}else{return false;
}},create:qx.core.Variant.select(r,{"mshtml":function(t,u){var v=new ActiveXObject(this.DOMDOC);
v.setProperty(n,b);

if(u){var w=h;
w+=u;

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

for(var i=0,l=E.length;i<l;i++){try{new ActiveXObject(E[i]);
new ActiveXObject(F[i]);
}catch(G){continue;
}D.DOMDOC=E[i];
D.XMLHTTP=F[i];
break;
}}}});
})();
(function(){var k="visible",j="scroll",i="borderBottomWidth",h="borderTopWidth",g="left",f="borderLeftWidth",e="bottom",d="top",c="right",b="qx.bom.element.Scroll",a="borderRightWidth";
qx.Class.define(b,{statics:{intoViewX:function(l,stop,m){var parent=l.parentNode;
var r=qx.dom.Node.getDocument(l);
var n=r.body;
var z,x,u;
var B,s,C;
var v,D,G;
var E,p,y,o;
var t,F,w;
var q=m===g;
var A=m===c;
stop=stop?stop.parentNode:r;
while(parent&&parent!=stop){if(parent.scrollWidth>parent.clientWidth&&(parent===n||qx.bom.element.Overflow.getY(parent)!=k)){if(parent===n){x=parent.scrollLeft;
u=x+qx.bom.Viewport.getWidth();
B=qx.bom.Viewport.getWidth();
s=parent.clientWidth;
C=parent.scrollWidth;
v=0;
D=0;
G=0;
}else{z=qx.bom.element.Location.get(parent);
x=z.left;
u=z.right;
B=parent.offsetWidth;
s=parent.clientWidth;
C=parent.scrollWidth;
v=parseInt(qx.bom.element.Style.get(parent,f),10)||0;
D=parseInt(qx.bom.element.Style.get(parent,a),10)||0;
G=B-s-v-D;
}E=qx.bom.element.Location.get(l);
p=E.left;
y=E.right;
o=l.offsetWidth;
t=p-x-v;
F=y-u+D;
w=0;
if(q){w=t;
}else if(A){w=F+G;
}else if(t<0||o>s){w=t;
}else if(F>0){w=F+G;
}parent.scrollLeft+=w;
if(qx.bom.client.Engine.GECKO||qx.bom.client.Engine.OPERA){qx.event.Registration.fireNonBubblingEvent(parent,j);
}}
if(parent===n){break;
}parent=parent.parentNode;
}},intoViewY:function(H,stop,I){var parent=H.parentNode;
var O=qx.dom.Node.getDocument(H);
var J=O.body;
var W,K,S;
var Y,V,Q;
var M,N,L;
var bb,bc,X,R;
var U,P,bd;
var ba=I===d;
var T=I===e;
stop=stop?stop.parentNode:O;
while(parent&&parent!=stop){if(parent.scrollHeight>parent.clientHeight&&(parent===J||qx.bom.element.Overflow.getY(parent)!=k)){if(parent===J){K=parent.scrollTop;
S=K+qx.bom.Viewport.getHeight();
Y=qx.bom.Viewport.getHeight();
V=parent.clientHeight;
Q=parent.scrollHeight;
M=0;
N=0;
L=0;
}else{W=qx.bom.element.Location.get(parent);
K=W.top;
S=W.bottom;
Y=parent.offsetHeight;
V=parent.clientHeight;
Q=parent.scrollHeight;
M=parseInt(qx.bom.element.Style.get(parent,h),10)||0;
N=parseInt(qx.bom.element.Style.get(parent,i),10)||0;
L=Y-V-M-N;
}bb=qx.bom.element.Location.get(H);
bc=bb.top;
X=bb.bottom;
R=H.offsetHeight;
U=bc-K-M;
P=X-S+N;
bd=0;
if(ba){bd=U;
}else if(T){bd=P+L;
}else if(U<0||R>V){bd=U;
}else if(P>0){bd=P+L;
}parent.scrollTop+=bd;
if(qx.bom.client.Engine.GECKO||qx.bom.client.Engine.OPERA){qx.event.Registration.fireNonBubblingEvent(parent,j);
}}
if(parent===J){break;
}parent=parent.parentNode;
}},intoView:function(be,stop,bf,bg){this.intoViewX(be,stop,bf);
this.intoViewY(be,stop,bg);
}}});
})();
(function(){var b="qx.ui.core.queue.Widget",a="widget";
qx.Class.define(b,{statics:{__iK:{},remove:function(c){delete this.__iK[c.$$hash];
},add:function(d){var e=this.__iK;

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

for(var g in f){h=f[g];
delete f[g];
h.syncWidget();
}for(var g in f){return;
}this.__iK={};
}}});
})();
(function(){var b="qx.ui.core.queue.Visibility",a="visibility";
qx.Class.define(b,{statics:{__iL:{},__iM:{},remove:function(c){var d=c.$$hash;
delete this.__iM[d];
delete this.__iL[d];
},isVisible:function(e){return this.__iM[e.$$hash]||false;
},__iN:function(f){var h=this.__iM;
var g=f.$$hash;
var i;
if(f.isExcluded()){i=false;
}else{var parent=f.$$parent;

if(parent){i=this.__iN(parent);
}else{i=f.isRootWidget();
}}return h[g]=i;
},add:function(j){var k=this.__iL;

if(k[j.$$hash]){return;
}k[j.$$hash]=j;
qx.ui.core.queue.Manager.scheduleFlush(a);
},flush:function(){var l=this.__iL;
var p=this.__iM;
for(var m in l){if(p[m]!=null){l[m].addChildrenToQueue(l);
}}var o={};

for(var m in l){o[m]=p[m];
p[m]=null;
}for(var m in l){var n=l[m];
delete l[m];
if(p[m]==null){this.__iN(n);
}if(p[m]&&p[m]!=o[m]){n.checkAppearanceNeeds();
}}this.__iL={};
}}});
})();
(function(){var b="appearance",a="qx.ui.core.queue.Appearance";
qx.Class.define(a,{statics:{__iO:{},remove:function(c){delete this.__iO[c.$$hash];
},add:function(d){var e=this.__iO;

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

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

if(d[c.$$hash]){return;
}d[c.$$hash]=c;
qx.ui.core.queue.Manager.scheduleFlush(b);
},flush:function(){var e=this.__iP;

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

if(qx.bom.client.Feature.CSS_POINTER_EVENTS){f.pointerEvents=c;
}qx.html.Element.call(this,null,f);
this.__iQ=d;
this.__iR=e||d.toHashCode();
this.useMarkup(d.getMarkup());
},members:{__iR:null,__iQ:null,getId:function(){return this.__iR;
},getDecorator:function(){return this.__iQ;
},resize:function(g,h){this.__iQ.resize(this.getDomElement(),g,h);
},tint:function(i){this.__iQ.tint(this.getDomElement(),i);
},getInsets:function(){return this.__iQ.getInsets();
}},destruct:function(){this.__iQ=null;
}});
})();
(function(){var f="blur",e="focus",d="input",c="load",b="qx.ui.core.EventHandler",a="activate";
qx.Class.define(b,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(){qx.core.Object.call(this);
this.__iS=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,touchstart:1,touchend:1,touchmove:1,touchcancel:1,tap:1,swipe:1},IGNORE_CAN_HANDLE:false},members:{__iS:null,__iT:{focusin:1,focusout:1,focus:1,blur:1},__iU:{mouseover:1,mouseout:1,appear:1,disappear:1},canHandleEvent:function(g,h){return g instanceof qx.ui.core.Widget;
},_dispatchEvent:function(j){var p=j.getTarget();
var o=qx.ui.core.Widget.getWidgetByElement(p);
var q=false;

while(o&&o.isAnonymous()){var q=true;
o=o.getLayoutParent();
}if(o&&q&&j.getType()==a){o.getContainerElement().activate();
}if(this.__iT[j.getType()]){o=o&&o.getFocusTarget();
if(!o){return;
}}if(j.getRelatedTarget){var x=j.getRelatedTarget();
var w=qx.ui.core.Widget.getWidgetByElement(x);

while(w&&w.isAnonymous()){w=w.getLayoutParent();
}
if(w){if(this.__iT[j.getType()]){w=w.getFocusTarget();
}if(w===o){return;
}}}var s=j.getCurrentTarget();
var u=qx.ui.core.Widget.getWidgetByElement(s);

if(!u||u.isAnonymous()){return;
}if(this.__iT[j.getType()]){u=u.getFocusTarget();
}var v=j.getType();

if(!u||!(u.isEnabled()||this.__iU[v])){return;
}var k=j.getEventPhase()==qx.event.type.Event.CAPTURING_PHASE;
var r=this.__iS.getListeners(u,v,k);

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

if(y){var n=qx.ui.core.Widget.getWidgetByElement(y);

while(n&&n.isAnonymous()){n=n.getLayoutParent();
}m.setOriginalTarget(n);
}else{m.setOriginalTarget(p);
}for(var i=0,l=r.length;i<l;i++){var t=r[i].context||u;
r[i].handler.call(t,m);
}if(m.getPropagationStopped()){j.stopPropagation();
}
if(m.getDefaultPrevented()){j.preventDefault();
}qx.event.Pool.getInstance().poolObject(m);
},registerEvent:function(z,A,B){var C;

if(A===e||A===f){C=z.getFocusElement();
}else if(A===c||A===d){C=z.getContentElement();
}else{C=z.getContainerElement();
}
if(C){C.addListener(A,this._dispatchEvent,this,B);
}},unregisterEvent:function(D,E,F){var G;

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

if(!u){return t;
}
if(typeof u===c){var w=u;
}else{var w=u[3];
if(!w){return t;
}}var v=i;

if(qx.core.Variant.isSet(f,g)&&qx.bom.client.Feature.SSL){v=this.self(arguments).__iW[w];
}return v+qx.$$libraries[w].resourceUri+h+t;
}},defer:function(x){if(qx.core.Variant.isSet(f,g)){if(qx.bom.client.Feature.SSL){for(var B in qx.$$libraries){var z;

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

if(C==-1){A=window.location.href;
}else{A=window.location.href.substring(0,C);
}x.__iW[B]=A.substring(0,A.lastIndexOf(h)+1);
}}}}}});
})();
(function(){var c="qx.bom.client.Locale",b="-",a="";
qx.Class.define(c,{statics:{LOCALE:"",VARIANT:"",__iX:function(){var d=(navigator.userLanguage||navigator.language).toLowerCase();
var f=a;
var e=d.indexOf(b);

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

if(new x(t).valueOf()==null){delete y.valueOf;
}
for(var i=0,l=z.length;i<l;i++){y[z[i]]=String.prototype[z[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.__ja=c;
this.__jb=d;
},members:{__ja:null,__jb:null,translate:function(){return qx.locale.Manager.getInstance().translate(this.__ja,this.__jb);
}}});
})();
(function(){var k="_",j="",h="_applyLocale",g="changeLocale",f="C",e="qx.dynlocale",d="on",c="qx.locale.Manager",b="String",a="singleton";
qx.Class.define(c,{type:a,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__jc=qx.$$translations||{};
this.__jd=qx.$$locales||{};
var n=qx.bom.client.Locale;
var l=n.LOCALE;
var m=n.VARIANT;

if(m!==j){l+=k+m;
}this.__je=l;
this.setLocale(l||this.__jf);
},statics:{tr:function(o,p){var q=qx.lang.Array.fromArguments(arguments);
q.splice(0,1);
return qx.locale.Manager.getInstance().translate(o,q);
},trn:function(r,s,t,u){var v=qx.lang.Array.fromArguments(arguments);
v.splice(0,3);
if(t!=1){return qx.locale.Manager.getInstance().translate(s,v);
}else{return qx.locale.Manager.getInstance().translate(r,v);
}},trc:function(w,x,y){var z=qx.lang.Array.fromArguments(arguments);
z.splice(0,2);
return qx.locale.Manager.getInstance().translate(x,z);
},marktr:function(A){return A;
}},properties:{locale:{check:b,nullable:true,apply:h,event:g}},members:{__jf:f,__jg:null,__jh:null,__jc:null,__jd:null,__je:null,getLanguage:function(){return this.__jh;
},getTerritory:function(){return this.getLocale().split(k)[1]||j;
},getAvailableLocales:function(){var C=[];

for(var B in this.__jd){if(B!=this.__jf){C.push(B);
}}return C;
},__ji:function(D){var F;
var E=D.indexOf(k);

if(E==-1){F=D;
}else{F=D.substring(0,E);
}return F;
},_applyLocale:function(G,H){{};
this.__jg=G;
this.__jh=this.__ji(G);
},addTranslation:function(I,J){var K=this.__jc;

if(K[I]){for(var L in J){K[I][L]=J[L];
}}else{K[I]=J;
}},addLocale:function(M,N){var O=this.__jd;

if(O[M]){for(var P in N){O[M][P]=N[P];
}}else{O[M]=N;
}},translate:function(Q,R,S){var T=this.__jc;
return this.__jj(T,Q,R,S);
},localize:function(U,V,W){var X=this.__jd;
return this.__jj(X,U,V,W);
},__jj:function(Y,ba,bb,bc){var bd;

if(!Y){return ba;
}
if(bc){var bf=this.__ji(bc);
}else{bc=this.__jg;
bf=this.__jh;
}if(!bd&&Y[bc]){bd=Y[bc][ba];
}if(!bd&&Y[bf]){bd=Y[bf][ba];
}if(!bd&&Y[this.__jf]){bd=Y[this.__jf][ba];
}
if(!bd){bd=ba;
}
if(bb.length>0){var be=[];

for(var i=0;i<bb.length;i++){var bg=bb[i];

if(bg&&bg.translate){be[i]=bg.translate();
}else{be[i]=bg;
}}bd=qx.lang.String.format(bd,be);
}
if(qx.core.Variant.isSet(e,d)){bd=new qx.locale.LocalizedString(bd,ba,bb);
}return bd;
}},destruct:function(){this.__jc=this.__jd=null;
}});
})();
(function(){var k="px",j="qx.client",i="div",h="img",g="",f="no-repeat",d="scale-x",c="mshtml",b="scale",a="scale-y",G="qx/icon",F="repeat",E=".png",D="crop",C="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='",B='<div style="',A="repeat-y",z='<img src="',y="qx.bom.element.Decoration",x="', sizingMethod='",r="png",s="')",p='"></div>',q='"/>',n='" style="',o="none",l="webkit",m=" ",t="repeat-x",u="DXImageTransform.Microsoft.AlphaImageLoader",w="qx/static/blank.gif",v="absolute";
qx.Class.define(y,{statics:{DEBUG:false,__jk:{},__jl:qx.core.Variant.isSet(j,c)&&qx.bom.client.Engine.VERSION<9,__jm:qx.core.Variant.select(j,{"mshtml":{"scale-x":true,"scale-y":true,"scale":true,"no-repeat":true},"default":null}),__jn:{"scale-x":h,"scale-y":h,"scale":h,"repeat":i,"no-repeat":i,"repeat-x":i,"repeat-y":i},update:function(H,I,J,K){var M=this.getTagName(J,I);

if(M!=H.tagName.toLowerCase()){throw new Error("Image modification not possible because elements could not be replaced at runtime anymore!");
}var N=this.getAttributes(I,J,K);

if(M===h){H.src=N.src||qx.util.ResourceManager.getInstance().toUri(w);
}if(H.style.backgroundPosition!=g&&N.style.backgroundPosition===undefined){N.style.backgroundPosition=null;
}if(H.style.clip!=g&&N.style.clip===undefined){N.style.clip=null;
}var L=qx.bom.element.Style;
L.setStyles(H,N.style);
if(this.__jl){try{H.filters[u].apply();
}catch(e){}}},create:function(O,P,Q){var R=this.getTagName(P,O);
var T=this.getAttributes(O,P,Q);
var S=qx.bom.element.Style.compile(T.style);

if(R===h){return z+T.src+n+S+q;
}else{return B+S+p;
}},getTagName:function(U,V){if(qx.core.Variant.isSet(j,c)){if(V&&this.__jl&&this.__jm[U]&&qx.lang.String.endsWith(V,E)){return i;
}}return this.__jn[U];
},getAttributes:function(W,X,Y){if(!Y){Y={};
}
if(!Y.position){Y.position=v;
}
if(qx.core.Variant.isSet(j,c)){Y.fontSize=0;
Y.lineHeight=0;
}else if(qx.core.Variant.isSet(j,l)){Y.WebkitUserDrag=o;
}var bb=qx.util.ResourceManager.getInstance().getImageFormat(W)||qx.io.ImageLoader.getFormat(W);
{};
var ba;
if(this.__jl&&this.__jm[X]&&bb===r){ba=this.__jq(Y,X,W);
}else{if(X===b){ba=this.__jr(Y,X,W);
}else if(X===d||X===a){ba=this.__js(Y,X,W);
}else{ba=this.__jv(Y,X,W);
}}return ba;
},__jo:function(bc,bd,be){if(bc.width==null&&bd!=null){bc.width=bd+k;
}
if(bc.height==null&&be!=null){bc.height=be+k;
}return bc;
},__jp:function(bf){var bh=qx.util.ResourceManager.getInstance().getImageWidth(bf)||qx.io.ImageLoader.getWidth(bf);
var bi=qx.util.ResourceManager.getInstance().getImageHeight(bf)||qx.io.ImageLoader.getHeight(bf);
return {width:bh,height:bi};
},__jq:function(bj,bk,bl){var bo=this.__jp(bl);
bj=this.__jo(bj,bo.width,bo.height);
var bn=bk==f?D:b;
var bm=C+qx.util.ResourceManager.getInstance().toUri(bl)+x+bn+s;
bj.filter=bm;
bj.backgroundImage=bj.backgroundRepeat=g;
return {style:bj};
},__jr:function(bp,bq,br){var bs=qx.util.ResourceManager.getInstance().toUri(br);
var bt=this.__jp(br);
bp=this.__jo(bp,bt.width,bt.height);
return {src:bs,style:bp};
},__js:function(bu,bv,bw){var bA=qx.util.ResourceManager.getInstance();
var bz=bA.isClippedImage(bw);
var bB=this.__jp(bw);

if(bz){var by=bA.getData(bw);
var bx=bA.toUri(by[4]);

if(bv===d){bu=this.__jt(bu,by,bB.height);
}else{bu=this.__ju(bu,by,bB.width);
}return {src:bx,style:bu};
}else{{};

if(bv==d){bu.height=bB.height==null?null:bB.height+k;
}else if(bv==a){bu.width=bB.width==null?null:bB.width+k;
}var bx=bA.toUri(bw);
return {src:bx,style:bu};
}},__jt:function(bC,bD,bE){var bF=qx.util.ResourceManager.getInstance().getImageHeight(bD[4]);
bC.clip={top:-bD[6],height:bE};
bC.height=bF+k;
if(bC.top!=null){bC.top=(parseInt(bC.top,10)+bD[6])+k;
}else if(bC.bottom!=null){bC.bottom=(parseInt(bC.bottom,10)+bE-bF-bD[6])+k;
}return bC;
},__ju:function(bG,bH,bI){var bJ=qx.util.ResourceManager.getInstance().getImageWidth(bH[4]);
bG.clip={left:-bH[5],width:bI};
bG.width=bJ+k;
if(bG.left!=null){bG.left=(parseInt(bG.left,10)+bH[5])+k;
}else if(bG.right!=null){bG.right=(parseInt(bG.right,10)+bI-bJ-bH[5])+k;
}return bG;
},__jv:function(bK,bL,bM){var bR=qx.util.ResourceManager.getInstance().isClippedImage(bM);
var bQ=this.__jp(bM);
if(bR&&bL!==F){var bP=qx.util.ResourceManager.getInstance().getData(bM);
var bO=qx.bom.element.Background.getStyles(bP[4],bL,bP[5],bP[6]);

for(var bN in bO){bK[bN]=bO[bN];
}
if(bQ.width!=null&&bK.width==null&&(bL==A||bL===f)){bK.width=bQ.width+k;
}
if(bQ.height!=null&&bK.height==null&&(bL==t||bL===f)){bK.height=bQ.height+k;
}return {style:bK};
}else{{};
bK=this.__jo(bK,bQ.width,bQ.height);
bK=this.__jw(bK,bM,bL);
return {style:bK};
}},__jw:function(bS,bT,bU){var top=null;
var bY=null;

if(bS.backgroundPosition){var bV=bS.backgroundPosition.split(m);
bY=parseInt(bV[0],10);

if(isNaN(bY)){bY=bV[0];
}top=parseInt(bV[1],10);

if(isNaN(top)){top=bV[1];
}}var bX=qx.bom.element.Background.getStyles(bT,bU,bY,top);

for(var bW in bX){bS[bW]=bX[bW];
}if(bS.filter){bS.filter=g;
}return bS;
},__jx:function(ca){if(this.DEBUG&&qx.util.ResourceManager.getInstance().has(ca)&&ca.indexOf(G)==-1){if(!this.__jk[ca]){qx.log.Logger.debug("Potential clipped image candidate: "+ca);
this.__jk[ca]=true;
}}},isAlphaImageLoaderEnabled:qx.core.Variant.select(j,{"mshtml":function(){return qx.bom.element.Decoration.__jl;
},"default":function(){return false;
}})}});
})();
(function(){var c="qx.client",b="load",a="qx.io.ImageLoader";
qx.Bootstrap.define(a,{statics:{__jy:{},__jz:{width:null,height:null},__jA:/\.(png|gif|jpg|jpeg|bmp)\b/i,isLoaded:function(d){var e=this.__jy[d];
return !!(e&&e.loaded);
},isFailed:function(f){var g=this.__jy[f];
return !!(g&&g.failed);
},isLoading:function(h){var j=this.__jy[h];
return !!(j&&j.loading);
},getFormat:function(k){var m=this.__jy[k];
return m?m.format:null;
},getSize:function(n){var o=this.__jy[n];
return o?
{width:o.width,height:o.height}:this.__jz;
},getWidth:function(p){var q=this.__jy[p];
return q?q.width:null;
},getHeight:function(r){var s=this.__jy[r];
return s?s.height:null;
},load:function(t,u,v){var w=this.__jy[t];

if(!w){w=this.__jy[t]={};
}if(u&&!v){v=window;
}if(w.loaded||w.loading||w.failed){if(u){if(w.loading){w.callbacks.push(u,v);
}else{u.call(v,t,w);
}}}else{w.loading=true;
w.callbacks=[];

if(u){w.callbacks.push(u,v);
}var y=new Image();
var x=qx.lang.Function.listener(this.__jB,this,y,t);
y.onload=x;
y.onerror=x;
y.src=t;
w.element=y;
}},abort:function(z){var A=this.__jy[z];

if(A&&!A.loaded){A.aborted=true;
var C=A.callbacks;
var B=A.element;
B.onload=B.onerror=null;
delete A.callbacks;
delete A.element;
delete A.loading;

for(var i=0,l=C.length;i<l;i+=2){C[i].call(C[i+1],z,A);
}}this.__jy[z]=null;
},__jB:qx.event.GlobalError.observeMethod(function(event,D,E){var F=this.__jy[E];
if(event.type===b){F.loaded=true;
F.width=this.__jC(D);
F.height=this.__jD(D);
var G=this.__jA.exec(E);

if(G!=null){F.format=G[1];
}}else{F.failed=true;
}D.onload=D.onerror=null;
var H=F.callbacks;
delete F.loading;
delete F.callbacks;
delete F.element;
for(var i=0,l=H.length;i<l;i+=2){H[i].call(H[i+1],E,F);
}}),__jC:qx.core.Variant.select(c,{"gecko":function(I){return I.naturalWidth;
},"default":function(J){return J.width;
}}),__jD:qx.core.Variant.select(c,{"gecko":function(K){return K.naturalHeight;
},"default":function(L){return L.height;
}})}});
})();
(function(){var m="number",l="0",k="px",j=";",i="background-image:url(",h=");",g="",f=")",e="background-repeat:",d=" ",a="qx.bom.element.Background",c="url(",b="background-position:";
qx.Class.define(a,{statics:{__jE:[i,null,h,b,null,j,e,null,j],__jF:{backgroundImage:null,backgroundPosition:null,backgroundRepeat:null},__jG:function(n,top){var o=qx.bom.client.Engine;

if(o.GECKO&&o.VERSION<1.9&&n==top&&typeof n==m){top+=0.01;
}
if(n){var p=(typeof n==m)?n+k:n;
}else{p=l;
}
if(top){var q=(typeof top==m)?top+k:top;
}else{q=l;
}return p+d+q;
},compile:function(r,s,t,top){var u=this.__jG(t,top);
var v=qx.util.ResourceManager.getInstance().toUri(r);
var w=this.__jE;
w[1]=v;
w[4]=u;
w[7]=s;
return w.join(g);
},getStyles:function(x,y,z,top){if(!x){return this.__jF;
}var A=this.__jG(z,top);
var B=qx.util.ResourceManager.getInstance().toUri(x);
var C={backgroundPosition:A,backgroundImage:c+B+f};

if(y!=null){C.backgroundRepeat=y;
}return C;
},set:function(D,E,F,G,top){var H=this.getStyles(E,F,G,top);

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

if(name===j){var o=this.getDomElement();
var l=this.getAllStyles();

if(this.getNodeName()==c&&this.getStyle(d)){l.backgroundPosition=null;
l.backgroundRepeat=null;
}var m=this._getProperty(j);
var n=this._getProperty(i);
var p=n?i:h;
if(m!=null){qx.bom.element.Decoration.update(o,m,p,l);
}}},_createDomElement:function(){var r=this._getProperty(i);
var s=r?i:h;

if(qx.core.Variant.isSet(g,f)){var q=this._getProperty(j);

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

if(z){this.setSource(z);
}},properties:{source:{check:r,init:null,nullable:true,event:w,apply:q,themeable:true},scale:{check:a,init:false,themeable:true,apply:l},appearance:{refine:true,init:n},allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false}},events:{loadingFailed:c,loaded:c},members:{__jI:null,__jJ:null,__jK:null,__jH:null,getContentElement:function(){return this.__jO();
},_createContentElement:function(){return this.__jO();
},_getContentHint:function(){return {width:this.__jI||0,height:this.__jJ||0};
},_applyEnabled:function(A,B){qx.ui.core.Widget.prototype._applyEnabled.call(this,A,B);

if(this.getSource()){this._styleSource();
}},_applySource:function(C){this._styleSource();
},_applyScale:function(D){this._styleSource();
},__jL:function(E){this.__jK=E;
},__jM:function(){if(this.__jK==null){var G=this.getSource();
var F=false;

if(G!=null){F=qx.lang.String.endsWith(G,g);
}
if(this.getScale()&&F&&qx.bom.element.Decoration.isAlphaImageLoaderEnabled()){this.__jK=h;
}else if(this.getScale()){this.__jK=i;
}else{this.__jK=j;
}}return this.__jK;
},__jN:function(H){var I;
var J;

if(H==h){I=true;
J=e;
}else if(H==j){I=false;
J=e;
}else{I=true;
J=p;
}var K=new qx.html.Image(J);
K.setScale(I);
K.setStyles({"overflowX":b,"overflowY":b});
return K;
},__jO:function(){var L=this.__jM();

if(this.__jH[L]==null){this.__jH[L]=this.__jN(L);
}return this.__jH[L];
},_styleSource:function(){var M=qx.util.AliasManager.getInstance().resolve(this.getSource());

if(!M){this.getContentElement().resetSource();
return;
}this.__jP(M);

if(qx.core.Variant.isSet(f,o)){var N=this.getScale()?x:k;
this.getContentElement().tagNameHint=qx.bom.element.Decoration.getTagName(N,M);
}if(qx.util.ResourceManager.getInstance().has(M)){this.__jR(this.getContentElement(),M);
}else if(qx.io.ImageLoader.isLoaded(M)){this.__jS(this.getContentElement(),M);
}else{this.__jT(this.getContentElement(),M);
}},__jP:qx.core.Variant.select(f,{"mshtml":function(O){var Q=qx.bom.element.Decoration.isAlphaImageLoaderEnabled();
var P=qx.lang.String.endsWith(O,g);

if(Q&&P){if(this.getScale()&&this.__jM()!=h){this.__jL(h);
}else if(!this.getScale()&&this.__jM()!=j){this.__jL(j);
}}else{if(this.getScale()&&this.__jM()!=i){this.__jL(i);
}else if(!this.getScale()&&this.__jM()!=j){this.__jL(j);
}}this.__jQ(this.__jO());
},"default":function(R){if(this.getScale()&&this.__jM()!=i){this.__jL(i);
}else if(!this.getScale()&&this.__jM(j)){this.__jL(j);
}this.__jQ(this.__jO());
}}),__jQ:function(S){var V=this.getContainerElement();
var W=V.getChild(0);

if(W!=S){if(W!=null){var Y=y;
var T={};
var U=this.getInnerSize();

if(U!=null){T.width=U.width+Y;
T.height=U.height+Y;
}var X=this.getInsets();
T.left=X.left+Y;
T.top=X.top+Y;
T.zIndex=10;
S.setStyles(T,true);
S.setSelectable(this.getSelectable());
}V.removeAt(0);
V.addAt(S,0);
}},__jR:function(ba,bb){var bd=qx.util.ResourceManager.getInstance();
if(!this.getEnabled()){var bc=bb.replace(/\.([a-z]+)$/,t);

if(bd.has(bc)){bb=bc;
this.addState(d);
}else{this.removeState(d);
}}if(ba.getSource()===bb){return;
}ba.setSource(bb);
this.__jV(bd.getImageWidth(bb),bd.getImageHeight(bb));
},__jS:function(be,bf){var bh=qx.io.ImageLoader;
be.setSource(bf);
var bg=bh.getWidth(bf);
var bi=bh.getHeight(bf);
this.__jV(bg,bi);
},__jT:function(bj,bk){var self;
var bl=qx.io.ImageLoader;
{};
if(!bl.isFailed(bk)){bl.load(bk,this.__jU,this);
}else{if(bj!=null){bj.resetSource();
}}},__jU:function(bm,bn){if(this.$$disposed===true){return;
}if(bm!==qx.util.AliasManager.getInstance().resolve(this.getSource())){return;
}if(bn.failed){this.warn("Image could not be loaded: "+bm);
this.fireEvent(s);
}else{this.fireEvent(u);
}this._styleSource();
},__jV:function(bo,bp){if(bo!==this.__jI||bp!==this.__jJ){this.__jI=bo;
this.__jJ=bp;
qx.ui.core.queue.Layout.add(this);
}}},destruct:function(){this._disposeMap(m);
}});
})();
(function(){var g="dragdrop-cursor",f="_applyAction",e="alias",d="qx.ui.core.DragDropCursor",c="move",b="singleton",a="copy";
qx.Class.define(d,{extend:qx.ui.basic.Image,include:qx.ui.core.MPlacement,type:b,construct:function(){qx.ui.basic.Image.call(this);
this.setZIndex(1e8);
this.setDomMove(true);
var h=this.getApplicationRoot();
h.add(this,{left:-1000,top:-1000});
},properties:{appearance:{refine:true,init:g},action:{check:[e,a,c],apply:f,nullable:true}},members:{_applyAction:function(i,j){if(j){this.removeState(j);
}
if(i){this.addState(i);
}}}});
})();
(function(){var f="mousedown",d="blur",c="__jW",b="singleton",a="qx.ui.popup.Manager";
qx.Class.define(a,{type:b,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__jW=[];
qx.event.Registration.addListener(document.documentElement,f,this.__jY,this,true);
qx.bom.Element.addListener(window,d,this.hideAll,this);
},members:{__jW:null,add:function(g){{};
this.__jW.push(g);
this.__jX();
},remove:function(h){{};

if(this.__jW){qx.lang.Array.remove(this.__jW,h);
this.__jX();
}},hideAll:function(){var j;
var k=this.__jW;

if(k){for(var i=0,l=k.length;i<l;i++){var j=k[i];
j.getAutoHide()&&j.exclude();
}}},__jX:function(){var m=1e7;

for(var i=0;i<this.__jW.length;i++){this.__jW[i].setZIndex(m++);
}},__jY:function(e){var o=qx.ui.core.Widget.getWidgetByElement(e.getTarget());
var p=this.__jW;

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

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

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

if(e<h.minWidth){e=h.minWidth;
}else if(e>h.maxWidth){e=h.maxWidth;
}d=c;

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

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

switch(B){case j:D=new qx.ui.basic.Label(this.getLabel());
D.setAnonymous(true);
D.setRich(this.getRich());
this._add(D);

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

if(this.getIcon()==null||this.getShow()===j){D.exclude();
}break;
}return D||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,B);
},_forwardStates:{focused:true,hovered:true},_handleLabel:function(){if(this.getLabel()==null||this.getShow()===i){this._excludeChildControl(j);
}else{this._showChildControl(j);
}},_handleIcon:function(){if(this.getIcon()==null||this.getShow()===j){this._excludeChildControl(i);
}else{this._showChildControl(i);
}},_applyLabel:function(E,F){var G=this.getChildControl(j,true);

if(G){G.setValue(E);
}this._handleLabel();
},_applyRich:function(H,I){var J=this.getChildControl(j,true);

if(J){J.setRich(H);
}},_applyIcon:function(K,L){var M=this.getChildControl(i,true);

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

for(var i=y;i!=u;i+=s){r=t[i].getSizeHint().height;

if(r>0){B+=r;

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

for(var i=y;i!=u;i+=s){C=t[i];
H=C.getSizeHint().width;

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

if(C===p){H=z;
}else{H=w.width;
}var G=e;

if(q==j){G=l;
}else if(q==h){G=m;
}top=x.computeVerticalAlignOffset(G,w.height,o);
C.renderLayout(I,top,H,r);
if(H>0){I+=H+A;
}}}},_computeSizeHint:function(){var T=this._getLayoutChildren();
var length=T.length;
var L,R;
if(length===1){var L=T[0].getSizeHint();
R={width:L.width,height:L.height,minWidth:L.minWidth,minHeight:L.minHeight};
}else{var P=0,Q=0;
var M=0,O=0;
var N=this.getIconPosition();
var S=this.getGap();

if(N===l||N===m){var J=0;

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

for(var i=0;i<length;i++){L=T[i].getSizeHint();
O=Math.max(O,L.height);
M=Math.max(M,L.minHeight);
if(L.width>0){Q+=L.width;
P+=L.minWidth;
J++;
}}
if(J>1){var K=(J-1)*S;
Q+=K;
P+=K;
}}R={minWidth:P,width:Q,minHeight:M,height:O};
}return R;
}}});
})();
(function(){var g="middle",f="qx.ui.layout.Util",e="left",d="center",c="top",b="bottom",a="right";
qx.Class.define(f,{statics:{PERCENT_VALUE:/[0-9]+(?:\.[0-9]+)?%/,computeFlexOffsets:function(h,j,k){var n,r,m,s;
var o=j>k;
var t=Math.abs(j-k);
var u,p;
var q={};

for(r in h){n=h[r];
q[r]={potential:o?n.max-n.value:n.value-n.min,flex:o?n.flex:1/n.flex,offset:0};
}while(t!=0){s=Infinity;
m=0;

for(r in q){n=q[r];

if(n.potential>0){m+=n.flex;
s=Math.min(s,n.potential/n.flex);
}}if(m==0){break;
}s=Math.min(t,s*m)/m;
u=0;

for(r in q){n=q[r];

if(n.potential>0){p=Math.min(t,n.potential,Math.ceil(s*n.flex));
u+=p-s*n.flex;

if(u>=1){u-=1;
p-=1;
}n.potential-=p;

if(o){n.offset+=p;
}else{n.offset-=p;
}t-=p;
}}}return q;
},computeHorizontalAlignOffset:function(v,w,x,y,z){if(y==null){y=0;
}
if(z==null){z=0;
}var A=0;

switch(v){case e:A=y;
break;
case a:A=x-w-z;
break;
case d:A=Math.round((x-w)/2);
if(A<y){A=y;
}else if(A<z){A=Math.max(y,x-w-z);
}break;
}return A;
},computeVerticalAlignOffset:function(B,C,D,E,F){if(E==null){E=0;
}
if(F==null){F=0;
}var G=0;

switch(B){case c:G=E;
break;
case b:G=D-C-F;
break;
case g: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(L,M,N){if(M==null){M=0;
}var O=0;

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

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

if(R){S+=P[0].getMarginTop();

for(var i=1,l=P.length;i<l;i+=1){S+=this.collapseMargins(Q,P[i-1].getMarginBottom(),P[i].getMarginTop());
}S+=P[l-1].getMarginBottom();
}else{for(var i=1,l=P.length;i<l;i+=1){S+=P[i].getMarginTop()+P[i].getMarginBottom();
}S+=(Q*(l-1));
}return S;
},computeHorizontalSeparatorGaps:function(T,U,V){var Y=qx.theme.manager.Decoration.getInstance().resolve(V);
var X=Y.getInsets();
var W=X.left+X.right;
var ba=0;

for(var i=0,l=T.length;i<l;i++){var bb=T[i];
ba+=bb.getMarginLeft()+bb.getMarginRight();
}ba+=(U+W+U)*(l-1);
return ba;
},computeVerticalSeparatorGaps:function(bc,bd,be){var bh=qx.theme.manager.Decoration.getInstance().resolve(be);
var bg=bh.getInsets();
var bf=bg.top+bg.bottom;
var bi=0;

for(var i=0,l=bc.length;i<l;i++){var bj=bc[i];
bi+=bj.getMarginTop()+bj.getMarginBottom();
}bi+=(bd+bf+bd)*(l-1);
return bi;
},arrangeIdeals:function(bk,bl,bm,bn,bo,bp){if(bl<bk||bo<bn){if(bl<bk&&bo<bn){bl=bk;
bo=bn;
}else if(bl<bk){bo-=(bk-bl);
bl=bk;
if(bo<bn){bo=bn;
}}else if(bo<bn){bl-=(bn-bo);
bo=bn;
if(bl<bk){bl=bk;
}}}
if(bl>bm||bo>bp){if(bl>bm&&bo>bp){bl=bm;
bo=bp;
}else if(bl>bm){bo+=(bl-bm);
bl=bm;
if(bo>bp){bo=bp;
}}else if(bo>bp){bl+=(bo-bp);
bo=bp;
if(bl>bm){bl=bm;
}}}return {begin:bl,end:bo};
}}});
})();
(function(){var b="qx.event.type.Data",a="qx.ui.form.IStringForm";
qx.Interface.define(a,{events:{"changeValue":b},members:{setValue:function(c){return arguments.length==1;
},resetValue:function(){},getValue:function(){}}});
})();
(function(){var k="qx.dynlocale",j="Boolean",i="color",h="changeLocale",g="enabled",f="on",d="_applyTextAlign",c="qx.ui.core.Widget",b="nowrap",a="changeTextAlign",C="_applyWrap",B="A",A="changeContent",z="qx.ui.basic.Label",y="whiteSpace",x="_applyValue",w="center",v="_applyBuddy",u="String",t="textAlign",r="right",s="changeRich",p="normal",q="_applyRich",n="click",o="label",l="left",m="changeValue";
qx.Class.define(z,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm],construct:function(D){qx.ui.core.Widget.call(this);

if(D!=null){this.setValue(D);
}
if(qx.core.Variant.isSet(k,f)){qx.locale.Manager.getInstance().addListener(h,this._onChangeLocale,this);
}},properties:{rich:{check:j,init:false,event:s,apply:q},wrap:{check:j,init:true,apply:C},value:{check:u,apply:x,event:m,nullable:true},buddy:{check:c,apply:v,nullable:true,init:null,dereference:true},textAlign:{check:[l,w,r],nullable:true,themeable:true,apply:d,event:a},appearance:{refine:true,init:o},selectable:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{__kc:null,__kd:null,__ke:null,__kf:null,_getContentHint:function(){if(this.__kd){this.__kg=this.__kh();
delete this.__kd;
}return {width:this.__kg.width,height:this.__kg.height};
},_hasHeightForWidth:function(){return this.getRich()&&this.getWrap();
},_applySelectable:function(E){if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){if(E&&!this.isRich()){{};
return;
}}qx.ui.core.Widget.prototype._applySelectable.call(this,E);
},_getContentHeightForWidth:function(F){if(!this.getRich()&&!this.getWrap()){return null;
}return this.__kh(F).height;
},_createContentElement:function(){return new qx.html.Label;
},_applyTextAlign:function(G,H){this.getContentElement().setStyle(t,G);
},_applyTextColor:function(I,J){if(I){this.getContentElement().setStyle(i,qx.theme.manager.Color.getInstance().resolve(I));
}else{this.getContentElement().removeStyle(i);
}},__kg:{width:0,height:0},_applyFont:function(K,L){var M;

if(K){this.__kc=qx.theme.manager.Font.getInstance().resolve(K);
M=this.__kc.getStyles();
}else{this.__kc=null;
M=qx.bom.Font.getDefaultStyles();
}this.getContentElement().setStyles(M);
this.__kd=true;
qx.ui.core.queue.Layout.add(this);
},__kh:function(N){var R=qx.bom.Label;
var P=this.getFont();
var O=P?this.__kc.getStyles():qx.bom.Font.getDefaultStyles();
var content=this.getValue()||B;
var Q=this.getRich();
return Q?R.getHtmlSize(content,O,N):R.getTextSize(content,O);
},_applyBuddy:function(S,T){if(T!=null){T.removeBinding(this.__ke);
this.__ke=null;
this.removeListenerById(this.__kf);
this.__kf=null;
}
if(S!=null){this.__ke=S.bind(g,this,g);
this.__kf=this.addListener(n,function(){if(S.isFocusable()){S.focus.apply(S);
}},this);
}},_applyRich:function(U){this.getContentElement().setRich(U);
this.__kd=true;
qx.ui.core.queue.Layout.add(this);
},_applyWrap:function(V,W){if(V&&!this.isRich()){{};
}
if(this.isRich()){var X=V?p:b;
this.getContentElement().setStyle(y,X);
}},_onChangeLocale:qx.core.Variant.select(k,{"on":function(e){var content=this.getValue();

if(content&&content.translate){this.setValue(content.translate());
}},"off":null}),_applyValue:function(Y,ba){this.getContentElement().setValue(Y);
this.__kd=true;
qx.ui.core.queue.Layout.add(this);
this.fireDataEvent(A,Y,ba);
}},destruct:function(){if(qx.core.Variant.isSet(k,f)){qx.locale.Manager.getInstance().removeListener(h,this._onChangeLocale,this);
}if(this.__ke!=null){var bb=this.getBuddy();

if(bb!=null&&!bb.isDisposed()){bb.removeBinding(this.__ke);
}}this.__kc=this.__ke=null;
}});
})();
(function(){var b="value",a="qx.html.Label";
qx.Class.define(a,{extend:qx.html.Element,members:{__ki:null,_applyProperty:function(name,c){qx.html.Element.prototype._applyProperty.call(this,name,c);

if(name==b){var d=this.getDomElement();
qx.bom.Label.setValue(d,c);
}},_createDomElement:function(){var f=this.__ki;
var e=qx.bom.Label.create(this._content,f);
return e;
},_copyData:function(g){return qx.html.Element.prototype._copyData.call(this,true);
},setRich:function(h){var i=this.getDomElement();

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

if(this.__ki==h){return;
}this.__ki=h;
return this;
},setValue:function(j){this._setProperty(b,j);
return this;
},getValue:function(){return this._getProperty(b);
}}});
})();
(function(){var j="div",i="inherit",h="text",g="qx.client",f="value",e="",d="hidden",c="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",b="nowrap",a="auto",z="0",y="ellipsis",x="normal",w="label",v="px",u="crop",t="gecko",s="end",r="100%",q="visible",o="qx.bom.Label",p="opera",m="mshtml",n="block",k="-1000px",l="absolute";
qx.Class.define(o,{statics:{__kj:{fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},__kk:function(){var A=this.__km(false);
document.body.insertBefore(A,document.body.firstChild);
return this._textElement=A;
},__kl:function(){var B=this.__km(true);
document.body.insertBefore(B,document.body.firstChild);
return this._htmlElement=B;
},__km:function(C){var D=qx.bom.Element.create(j);
var E=D.style;
E.width=E.height=a;
E.left=E.top=k;
E.visibility=d;
E.position=l;
E.overflow=q;

if(C){E.whiteSpace=x;
}else{E.whiteSpace=b;

if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){var F=document.createElementNS(c,w);
var E=F.style;
E.padding=z;

for(var G in this.__kj){E[G]=i;
}D.appendChild(F);
}}return D;
},__kn:function(H){var I={};

if(H){I.whiteSpace=x;
}else if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){I.display=n;
}else{I.overflow=d;
I.whiteSpace=b;
I.textOverflow=y;
if(qx.core.Variant.isSet(g,p)){I.OTextOverflow=y;
}}return I;
},create:function(content,J,K){if(!K){K=window;
}
if(J){var L=K.document.createElement(j);
L.useHtml=true;
}else if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){var L=K.document.createElement(j);
var N=K.document.createElementNS(c,w);
var M=N.style;
M.cursor=i;
M.color=i;
M.overflow=d;
M.maxWidth=r;
M.padding=z;
for(var O in this.__kj){N.style[O]=i;
}N.setAttribute(u,s);
L.appendChild(N);
}else{var L=K.document.createElement(j);
qx.bom.element.Style.setStyles(L,this.__kn(J));
}
if(content){this.setValue(L,content);
}return L;
},setValue:function(P,Q){Q=Q||e;

if(P.useHtml){P.innerHTML=Q;
}else if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){P.firstChild.setAttribute(f,Q);
}else{qx.bom.element.Attribute.set(P,h,Q);
}},getValue:function(R){if(R.useHtml){return R.innerHTML;
}else if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){return R.firstChild.getAttribute(f)||e;
}else{return qx.bom.element.Attribute.get(R,h);
}},getHtmlSize:function(content,S,T){var U=this._htmlElement||this.__kl();
U.style.width=T!==undefined?T+v:a;
U.innerHTML=content;
return this.__ko(U,S);
},getTextSize:function(V,W){var X=this._textElement||this.__kk();

if(!qx.bom.client.Feature.CSS_TEXT_OVERFLOW&&qx.bom.client.Feature.XUL){X.firstChild.setAttribute(f,V);
}else{qx.bom.element.Attribute.set(X,h,V);
}return this.__ko(X,W);
},__ko:function(Y,ba){var bb=this.__kj;

if(!ba){ba={};
}
for(var bc in bb){Y.style[bc]=ba[bc]||e;
}var bd=qx.bom.element.Dimension.getSize(Y);

if(qx.core.Variant.isSet(g,t)){if(!qx.bom.client.Platform.WIN){bd.width++;
}}if(qx.core.Variant.isSet(g,m)&&qx.bom.client.Engine.VERSION>=9){bd.width++;
}return bd;
}}});
})();
(function(){var i="0px",h="qx.client",g="mshtml",f="qx.bom.element.Dimension",e="paddingRight",d="paddingLeft",c="opera",b="paddingTop",a="paddingBottom";
qx.Class.define(f,{statics:{getWidth:qx.core.Variant.select(h,{"gecko":function(j){if(j.getBoundingClientRect){var k=j.getBoundingClientRect();
return Math.round(k.right)-Math.round(k.left);
}else{return j.offsetWidth;
}},"default":function(l){return l.offsetWidth;
}}),getHeight:qx.core.Variant.select(h,{"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(o){return o.offsetHeight;
}}),getSize:function(p){return {width:this.getWidth(p),height:this.getHeight(p)};
},__kp:{visible:true,hidden:true},getContentWidth:function(q){var s=qx.bom.element.Style;
var t=qx.bom.element.Overflow.getX(q);
var u=parseInt(s.get(q,d)||i,10);
var x=parseInt(s.get(q,e)||i,10);

if(this.__kp[t]){var w=q.clientWidth;

if(qx.core.Variant.isSet(h,c)){w=w-u-x;
}else{if(qx.dom.Node.isBlockNode(q)){w=w-u-x;
}}return w;
}else{if(q.clientWidth>=q.scrollWidth){return Math.max(q.clientWidth,q.scrollWidth)-u-x;
}else{var v=q.scrollWidth-u;
var r=qx.bom.client.Engine;

if(r.NAME===g&&r.VERSION==6){v-=x;
}return v;
}}},getContentHeight:function(y){var A=qx.bom.element.Style;
var C=qx.bom.element.Overflow.getY(y);
var D=parseInt(A.get(y,b)||i,10);
var B=parseInt(A.get(y,a)||i,10);

if(this.__kp[C]){return y.clientHeight-D-B;
}else{if(y.clientHeight>=y.scrollHeight){return Math.max(y.clientHeight,y.scrollHeight)-D-B;
}else{var E=y.scrollHeight-D;
var z=qx.bom.client.Engine;

if(z.NAME===g&&z.VERSION==6){E-=B;
}return E;
}}},getContentSize:function(F){return {width:this.getContentWidth(F),height:this.getContentHeight(F)};
}}});
})();
(function(){var b="qx.event.type.Data",a="qx.ui.form.IForm";
qx.Interface.define(a,{events:{"changeEnabled":b,"changeValid":b,"changeInvalidMessage":b,"changeRequired":b},members:{setEnabled:function(c){return arguments.length==1;
},getEnabled:function(){},setRequired:function(d){return arguments.length==1;
},getRequired:function(){},setValid:function(e){return arguments.length==1;
},getValid:function(){},setInvalidMessage:function(f){return arguments.length==1;
},getInvalidMessage:function(){},setRequiredInvalidMessage:function(g){return arguments.length==1;
},getRequiredInvalidMessage:function(){}}});
})();
(function(){var i="qx.ui.window.Window",h="changeModal",g="changeVisibility",f="changeActive",d="_applyActiveWindow",c="__kr",b="__kq",a="qx.ui.window.MDesktop";
qx.Mixin.define(a,{properties:{activeWindow:{check:i,apply:d,init:null,nullable:true}},members:{__kq:null,__kr:null,getWindowManager:function(){if(!this.__kr){this.setWindowManager(new qx.ui.window.Window.DEFAULT_MANAGER_CLASS());
}return this.__kr;
},supportsMaximize:function(){return true;
},setWindowManager:function(j){if(this.__kr){this.__kr.setDesktop(null);
}j.setDesktop(this);
this.__kr=j;
},_onChangeActive:function(e){if(e.getData()){this.setActiveWindow(e.getTarget());
}else if(this.getActiveWindow()==e.getTarget()){this.setActiveWindow(null);
}},_applyActiveWindow:function(k,l){this.getWindowManager().changeActiveWindow(k,l);
this.getWindowManager().updateStack();
},_onChangeModal:function(e){this.getWindowManager().updateStack();
},_onChangeVisibility:function(){this.getWindowManager().updateStack();
},_afterAddChild:function(m){if(qx.Class.isDefined(i)&&m instanceof qx.ui.window.Window){this._addWindow(m);
}},_addWindow:function(n){if(!qx.lang.Array.contains(this.getWindows(),n)){this.getWindows().push(n);
n.addListener(f,this._onChangeActive,this);
n.addListener(h,this._onChangeModal,this);
n.addListener(g,this._onChangeVisibility,this);
}
if(n.getActive()){this.setActiveWindow(n);
}this.getWindowManager().updateStack();
},_afterRemoveChild:function(o){if(qx.Class.isDefined(i)&&o instanceof qx.ui.window.Window){this._removeWindow(o);
}},_removeWindow:function(p){qx.lang.Array.remove(this.getWindows(),p);
p.removeListener(f,this._onChangeActive,this);
p.removeListener(h,this._onChangeModal,this);
p.removeListener(g,this._onChangeVisibility,this);
this.getWindowManager().updateStack();
},getWindows:function(){if(!this.__kq){this.__kq=[];
}return this.__kq;
}},destruct:function(){this._disposeArray(b);
this._disposeObjects(c);
}});
})();
(function(){var f="_applyBlockerColor",e="__ks",d="Number",c="qx.ui.core.MBlocker",b="_applyBlockerOpacity",a="Color";
qx.Mixin.define(c,{construct:function(){this.__ks=new qx.ui.core.Blocker(this);
},properties:{blockerColor:{check:a,init:null,nullable:true,apply:f,themeable:true},blockerOpacity:{check:d,init:1,apply:b,themeable:true}},members:{__ks:null,_applyBlockerColor:function(g,h){this.__ks.setColor(g);
},_applyBlockerOpacity:function(i,j){this.__ks.setOpacity(i);
},block:function(){this.__ks.block();
},isBlocked:function(){return this.__ks.isBlocked();
},unblock:function(){this.__ks.unblock();
},forceUnblock:function(){this.__ks.forceUnblock();
},blockContent:function(k){this.__ks.blockContent(k);
},isContentBlocked:function(){return this.__ks.isContentBlocked();
},unblockContent:function(){this.__ks.unblockContent();
},forceUnblockContent:function(){this.__ks.forceUnblockContent();
},getBlocker:function(){return this.__ks;
}},destruct:function(){this._disposeObjects(e);
}});
})();
(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:{__kt:null,isRootWidget:function(){return true;
},getLayout:function(){return this._getLayout();
},_applyGlobalCursor:qx.core.Variant.select(n,{"mshtml":function(q,r){},"default":function(s,t){var u=qx.bom.Stylesheet;
var v=this.__kt;

if(!v){this.__kt=v=u.createElement();
}u.removeAllRules(v);

if(s){u.addRule(v,a,qx.bom.element.Cursor.compile(s).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(y,z){if(z===false){qx.bom.Event.removeNativeListener(document,o,qx.lang.Function.returnFalse);
}
if(y===false){qx.bom.Event.addNativeListener(document,o,qx.lang.Function.returnFalse);
}},"default":function(){}})},destruct:function(){this.__kt=null;
},defer:function(A,B){qx.ui.core.MChildrenHandling.remap(B);
}});
})();
(function(){var n="resize",m="position",l="0px",k="webkit",j="paddingLeft",i="$$widget",h="qx.ui.root.Application",g="hidden",f="qx.client",d="div",a="paddingTop",c="100%",b="absolute";
qx.Class.define(h,{extend:qx.ui.root.Abstract,construct:function(o){this.__ku=qx.dom.Node.getWindow(o);
this.__kv=o;
qx.ui.root.Abstract.call(this);
qx.event.Registration.addListener(this.__ku,n,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:{__ku:null,__kv:null,_createContainerElement:function(){var p=this.__kv;
if(qx.core.Variant.isSet(f,k)){if(!p.body){alert("The application could not be started due to a missing body tag in the HTML file!");
}}var t=p.documentElement.style;
var q=p.body.style;
t.overflow=q.overflow=g;
t.padding=t.margin=q.padding=q.margin=l;
t.width=t.height=q.width=q.height=c;
var s=p.createElement(d);
p.body.appendChild(s);
var r=new qx.html.Root(s);
r.setStyle(m,b);
r.setAttribute(i,this.toHashCode());
return r;
},_onResize:function(e){qx.ui.core.queue.Layout.add(this);
},_computeSizeHint:function(){var u=qx.bom.Viewport.getWidth(this.__ku);
var v=qx.bom.Viewport.getHeight(this.__ku);
return {minWidth:u,width:u,maxWidth:u,minHeight:v,height:v,maxHeight:v};
},_applyPadding:function(w,x,name){if(w&&(name==a||name==j)){throw new Error("The root widget does not support 'left', or 'top' paddings!");
}qx.ui.root.Abstract.prototype._applyPadding.call(this,w,x,name);
},_applyDecorator:function(y,z){qx.ui.root.Abstract.prototype._applyDecorator.call(this,y,z);

if(!y){return;
}var A=this.getDecoratorElement().getInsets();

if(A.left||A.top){throw new Error("The root widget does not support decorators with 'left', or 'top' insets!");
}}},destruct:function(){this.__ku=this.__kv=null;
}});
})();
(function(){var l="zIndex",k="px",j="keydown",h="deactivate",g="resize",f="keyup",d="keypress",c="backgroundColor",b="_applyOpacity",a="Boolean",x="opacity",w="interval",v="Tab",u="Color",t="qx.ui.root.Page",s="__kD",r="__kB",q="Number",p="qx.ui.core.Blocker",o="qx.ui.root.Application",m="__kz",n="_applyColor";
qx.Class.define(p,{extend:qx.core.Object,construct:function(y){qx.core.Object.call(this);
this._widget=y;
this._isPageRoot=(qx.Class.isDefined(t)&&y instanceof qx.ui.root.Page);

if(this._isPageRoot){y.addListener(g,this.__kE,this);
}
if(qx.Class.isDefined(o)&&y instanceof qx.ui.root.Application){this.setKeepBlockerActive(true);
}this.__kw=[];
this.__kx=[];
this.__ky=[];
},properties:{color:{check:u,init:null,nullable:true,apply:n,themeable:true},opacity:{check:q,init:1,apply:b,themeable:true},keepBlockerActive:{check:a,init:false}},members:{__kz:null,__kA:0,__kB:null,__ky:null,__kw:null,__kx:null,__kC:null,__kD:null,_isPageRoot:false,_widget:null,__kE:function(e){var z=e.getData();

if(this.isContentBlocked()){this.getContentBlockerElement().setStyles({width:z.width,height:z.height});
}
if(this.isBlocked()){this.getBlockerElement().setStyles({width:z.width,height:z.height});
}},_applyColor:function(A,B){var C=qx.theme.manager.Color.getInstance().resolve(A);
this.__kF(c,C);
},_applyOpacity:function(D,E){this.__kF(x,D);
},__kF:function(F,G){var H=[];
this.__kz&&H.push(this.__kz);
this.__kB&&H.push(this.__kB);

for(var i=0;i<H.length;i++){H[i].setStyle(F,G);
}},_backupActiveWidget:function(){var I=qx.event.Registration.getManager(window).getHandler(qx.event.handler.Focus);
this.__kw.push(I.getActive());
this.__kx.push(I.getFocus());

if(this._widget.isFocusable()){this._widget.focus();
}},_restoreActiveWidget:function(){var L=this.__kw.length;

if(L>0){var K=this.__kw[L-1];

if(K){qx.bom.Element.activate(K);
}this.__kw.pop();
}var J=this.__kx.length;

if(J>0){var K=this.__kx[J-1];

if(K){qx.bom.Element.focus(this.__kx[J-1]);
}this.__kx.pop();
}},__kG:function(){return new qx.html.Blocker(this.getColor(),this.getOpacity());
},getBlockerElement:function(){if(!this.__kz){this.__kz=this.__kG();
this.__kz.setStyle(l,15);
this._widget.getContainerElement().add(this.__kz);
this.__kz.exclude();
}return this.__kz;
},block:function(){this.__kA++;

if(this.__kA<2){this._backupActiveWidget();
var M=this.getBlockerElement();
M.include();
M.activate();
M.addListener(h,this.__kL,this);
M.addListener(d,this.__kK,this);
M.addListener(j,this.__kK,this);
M.addListener(f,this.__kK,this);
}},isBlocked:function(){return this.__kA>0;
},unblock:function(){if(!this.isBlocked()){return;
}this.__kA--;

if(this.__kA<1){this.__kH();
this.__kA=0;
}},forceUnblock:function(){if(!this.isBlocked()){return;
}this.__kA=0;
this.__kH();
},__kH:function(){this._restoreActiveWidget();
var N=this.getBlockerElement();
N.removeListener(h,this.__kL,this);
N.removeListener(d,this.__kK,this);
N.removeListener(j,this.__kK,this);
N.removeListener(f,this.__kK,this);
N.exclude();
},getContentBlockerElement:function(){if(!this.__kB){this.__kB=this.__kG();
this._widget.getContentElement().add(this.__kB);
this.__kB.exclude();
}return this.__kB;
},blockContent:function(O){var P=this.getContentBlockerElement();
P.setStyle(l,O);
this.__ky.push(O);

if(this.__ky.length<2){P.include();

if(this._isPageRoot){if(!this.__kD){this.__kD=new qx.event.Timer(300);
this.__kD.addListener(w,this.__kJ,this);
}this.__kD.start();
this.__kJ();
}}},isContentBlocked:function(){return this.__ky.length>0;
},unblockContent:function(){if(!this.isContentBlocked()){return;
}this.__ky.pop();
var Q=this.__ky[this.__ky.length-1];
var R=this.getContentBlockerElement();
R.setStyle(l,Q);

if(this.__ky.length<1){this.__kI();
this.__ky=[];
}},forceUnblockContent:function(){if(!this.isContentBlocked()){return;
}this.__ky=[];
var S=this.getContentBlockerElement();
S.setStyle(l,null);
this.__kI();
},__kI:function(){this.getContentBlockerElement().exclude();

if(this._isPageRoot){this.__kD.stop();
}},__kJ:function(){var T=this._widget.getContainerElement().getDomElement();
var U=qx.dom.Node.getDocument(T);
this.getContentBlockerElement().setStyles({height:U.documentElement.scrollHeight+k,width:U.documentElement.scrollWidth+k});
},__kK:function(e){if(e.getKeyIdentifier()==v){e.stop();
}},__kL:function(){if(this.getKeepBlockerActive()){this.getBlockerElement().activate();
}}},destruct:function(){if(this._isPageRoot){this._widget.removeListener(g,this.__kE,this);
}this._disposeObjects(r,m,s);
this.__kC=this.__kw=this.__kx=this._widget=this.__ky=null;
}});
})();
(function(){var k="cursor",j="100%",i="repeat",h="mousedown",g="url(",f=")",d="mouseout",c="qx.client",b="div",a="dblclick",w="mousewheel",v="qx.html.Blocker",u="mousemove",t="mouseover",s="appear",r="click",q="mshtml",p="mouseup",o="contextmenu",n="disappear",l="qx/static/blank.gif",m="absolute";
qx.Class.define(v,{extend:qx.html.Element,construct:function(x,y){var x=x?qx.theme.manager.Color.getInstance().resolve(x):null;
var z={position:m,width:j,height:j,opacity:y||0,backgroundColor:x};
if(qx.core.Variant.isSet(c,q)){z.backgroundImage=g+qx.util.ResourceManager.getInstance().toUri(l)+f;
z.backgroundRepeat=i;
}qx.html.Element.call(this,b,z);
this.addListener(h,this._stopPropagation,this);
this.addListener(p,this._stopPropagation,this);
this.addListener(r,this._stopPropagation,this);
this.addListener(a,this._stopPropagation,this);
this.addListener(u,this._stopPropagation,this);
this.addListener(t,this._stopPropagation,this);
this.addListener(d,this._stopPropagation,this);
this.addListener(w,this._stopPropagation,this);
this.addListener(o,this._stopPropagation,this);
this.addListener(s,this.__kM,this);
this.addListener(n,this.__kM,this);
},members:{_stopPropagation:function(e){e.stopPropagation();
},__kM:function(){var A=this.getStyle(k);
this.setStyle(k,null,true);
this.setStyle(k,A,true);
}}});
})();
(function(){var k="keypress",j="__kN",h="focusout",g="activate",f="Tab",d="singleton",c="deactivate",b="focusin",a="qx.ui.core.FocusHandler";
qx.Class.define(a,{extend:qx.core.Object,type:d,construct:function(){qx.core.Object.call(this);
this.__kN={};
},members:{__kN:null,__kO:null,__kP:null,__kQ:null,connectTo:function(m){m.addListener(k,this.__kR,this);
m.addListener(b,this._onFocusIn,this,true);
m.addListener(h,this._onFocusOut,this,true);
m.addListener(g,this._onActivate,this,true);
m.addListener(c,this._onDeactivate,this,true);
},addRoot:function(n){this.__kN[n.$$hash]=n;
},removeRoot:function(o){delete this.__kN[o.$$hash];
},getActiveWidget:function(){return this.__kO;
},isActive:function(p){return this.__kO==p;
},getFocusedWidget:function(){return this.__kP;
},isFocused:function(q){return this.__kP==q;
},isFocusRoot:function(r){return !!this.__kN[r.$$hash];
},_onActivate:function(e){var t=e.getTarget();
this.__kO=t;
var s=this.__kS(t);

if(s!=this.__kQ){this.__kQ=s;
}},_onDeactivate:function(e){var u=e.getTarget();

if(this.__kO==u){this.__kO=null;
}},_onFocusIn:function(e){var v=e.getTarget();

if(v!=this.__kP){this.__kP=v;
v.visualizeFocus();
}},_onFocusOut:function(e){var w=e.getTarget();

if(w==this.__kP){this.__kP=null;
w.visualizeBlur();
}},__kR:function(e){if(e.getKeyIdentifier()!=f){return;
}
if(!this.__kQ){return;
}e.stopPropagation();
e.preventDefault();
var x=this.__kP;

if(!e.isShiftPressed()){var y=x?this.__kW(x):this.__kU();
}else{var y=x?this.__kX(x):this.__kV();
}if(y){y.tabFocus();
}},__kS:function(z){var A=this.__kN;

while(z){if(A[z.$$hash]){return z;
}z=z.getLayoutParent();
}return null;
},__kT:function(B,C){if(B===C){return 0;
}var E=B.getTabIndex()||0;
var D=C.getTabIndex()||0;

if(E!=D){return E-D;
}var J=B.getContainerElement().getDomElement();
var I=C.getContainerElement().getDomElement();
var H=qx.bom.element.Location;
var G=H.get(J);
var F=H.get(I);
if(G.top!=F.top){return G.top-F.top;
}if(G.left!=F.left){return G.left-F.left;
}var K=B.getZIndex();
var L=C.getZIndex();

if(K!=L){return K-L;
}return 0;
},__kU:function(){return this.__lb(this.__kQ,null);
},__kV:function(){return this.__lc(this.__kQ,null);
},__kW:function(M){var N=this.__kQ;

if(N==M){return this.__kU();
}
while(M&&M.getAnonymous()){M=M.getLayoutParent();
}
if(M==null){return [];
}var O=[];
this.__kY(N,M,O);
O.sort(this.__kT);
var P=O.length;
return P>0?O[0]:this.__kU();
},__kX:function(Q){var R=this.__kQ;

if(R==Q){return this.__kV();
}
while(Q&&Q.getAnonymous()){Q=Q.getLayoutParent();
}
if(Q==null){return [];
}var S=[];
this.__la(R,Q,S);
S.sort(this.__kT);
var T=S.length;
return T>0?S[T-1]:this.__kV();
},__kY:function(parent,U,V){var W=parent.getLayoutChildren();
var X;

for(var i=0,l=W.length;i<l;i++){X=W[i];
if(!(X instanceof qx.ui.core.Widget)){continue;
}
if(!this.isFocusRoot(X)&&X.isEnabled()&&X.isVisible()){if(X.isTabable()&&this.__kT(U,X)<0){V.push(X);
}this.__kY(X,U,V);
}}},__la:function(parent,Y,ba){var bb=parent.getLayoutChildren();
var bc;

for(var i=0,l=bb.length;i<l;i++){bc=bb[i];
if(!(bc instanceof qx.ui.core.Widget)){continue;
}
if(!this.isFocusRoot(bc)&&bc.isEnabled()&&bc.isVisible()){if(bc.isTabable()&&this.__kT(Y,bc)>0){ba.push(bc);
}this.__la(bc,Y,ba);
}}},__lb:function(parent,bd){var be=parent.getLayoutChildren();
var bf;

for(var i=0,l=be.length;i<l;i++){bf=be[i];
if(!(bf instanceof qx.ui.core.Widget)){continue;
}if(!this.isFocusRoot(bf)&&bf.isEnabled()&&bf.isVisible()){if(bf.isTabable()){if(bd==null||this.__kT(bf,bd)<0){bd=bf;
}}bd=this.__lb(bf,bd);
}}return bd;
},__lc:function(parent,bg){var bh=parent.getLayoutChildren();
var bi;

for(var i=0,l=bh.length;i<l;i++){bi=bh[i];
if(!(bi instanceof qx.ui.core.Widget)){continue;
}if(!this.isFocusRoot(bi)&&bi.isEnabled()&&bi.isVisible()){if(bi.isTabable()){if(bg==null||this.__kT(bi,bg)>0){bg=bi;
}}bg=this.__lc(bi,bg);
}}return bg;
}},destruct:function(){this._disposeMap(j);
this.__kP=this.__kO=this.__kQ=null;
}});
})();
(function(){var l="qx.client",k="head",j="text/css",h="stylesheet",g="}",f='@import "',e="{",d='";',c="qx.bom.Stylesheet",b="link",a="style";
qx.Class.define(c,{statics:{includeFile:function(m,n){if(!n){n=document;
}var o=n.createElement(b);
o.type=j;
o.rel=h;
o.href=qx.util.ResourceManager.getInstance().toUri(m);
var p=n.getElementsByTagName(k)[0];
p.appendChild(o);
},createElement:qx.core.Variant.select(l,{"mshtml":function(q){var r=document.createStyleSheet();

if(q){r.cssText=q;
}return r;
},"default":function(s){var t=document.createElement(a);
t.type=j;

if(s){t.appendChild(document.createTextNode(s));
}document.getElementsByTagName(k)[0].appendChild(t);
return t.sheet;
}}),addRule:qx.core.Variant.select(l,{"mshtml":function(u,v,w){u.addRule(v,w);
},"default":function(x,y,z){x.insertRule(y+e+z+g,x.cssRules.length);
}}),removeRule:qx.core.Variant.select(l,{"mshtml":function(A,B){var C=A.rules;
var D=C.length;

for(var i=D-1;i>=0;--i){if(C[i].selectorText==B){A.removeRule(i);
}}},"default":function(E,F){var G=E.cssRules;
var H=G.length;

for(var i=H-1;i>=0;--i){if(G[i].selectorText==F){E.deleteRule(i);
}}}}),removeAllRules:qx.core.Variant.select(l,{"mshtml":function(I){var J=I.rules;
var K=J.length;

for(var i=K-1;i>=0;i--){I.removeRule(i);
}},"default":function(L){var M=L.cssRules;
var N=M.length;

for(var i=N-1;i>=0;i--){L.deleteRule(i);
}}}),addImport:qx.core.Variant.select(l,{"mshtml":function(O,P){O.addImport(P);
},"default":function(Q,R){Q.insertRule(f+R+d,Q.cssRules.length);
}}),removeImport:qx.core.Variant.select(l,{"mshtml":function(S,T){var U=S.imports;
var V=U.length;

for(var i=V-1;i>=0;i--){if(U[i].href==T){S.removeImport(i);
}}},"default":function(W,X){var Y=W.cssRules;
var ba=Y.length;

for(var i=ba-1;i>=0;i--){if(Y[i].href==X){W.deleteRule(i);
}}}}),removeAllImports:qx.core.Variant.select(l,{"mshtml":function(bb){var bc=bb.imports;
var bd=bc.length;

for(var i=bd-1;i>=0;i--){bb.removeImport(i);
}},"default":function(be){var bf=be.cssRules;
var bg=bf.length;

for(var i=bg-1;i>=0;i--){if(bf[i].type==bf[i].IMPORT_RULE){be.deleteRule(i);
}}}})}});
})();
(function(){var b="number",a="qx.ui.layout.Canvas";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(c,d){var q=this._getLayoutChildren();
var g,p,n;
var s,top,e,f,j,h;
var o,m,r,k;

for(var i=0,l=q.length;i<l;i++){g=q[i];
p=g.getSizeHint();
n=g.getLayoutProperties();
o=g.getMarginTop();
m=g.getMarginRight();
r=g.getMarginBottom();
k=g.getMarginLeft();
s=n.left!=null?n.left:n.edge;

if(qx.lang.Type.isString(s)){s=Math.round(parseFloat(s)*c/100);
}e=n.right!=null?n.right:n.edge;

if(qx.lang.Type.isString(e)){e=Math.round(parseFloat(e)*c/100);
}top=n.top!=null?n.top:n.edge;

if(qx.lang.Type.isString(top)){top=Math.round(parseFloat(top)*d/100);
}f=n.bottom!=null?n.bottom:n.edge;

if(qx.lang.Type.isString(f)){f=Math.round(parseFloat(f)*d/100);
}if(s!=null&&e!=null){j=c-s-e-k-m;
if(j<p.minWidth){j=p.minWidth;
}else if(j>p.maxWidth){j=p.maxWidth;
}s+=k;
}else{j=n.width;

if(j==null){j=p.width;
}else{j=Math.round(parseFloat(j)*c/100);
if(j<p.minWidth){j=p.minWidth;
}else if(j>p.maxWidth){j=p.maxWidth;
}}
if(e!=null){s=c-j-e-m-k;
}else if(s==null){s=k;
}else{s+=k;
}}if(top!=null&&f!=null){h=d-top-f-o-r;
if(h<p.minHeight){h=p.minHeight;
}else if(h>p.maxHeight){h=p.maxHeight;
}top+=o;
}else{h=n.height;

if(h==null){h=p.height;
}else{h=Math.round(parseFloat(h)*d/100);
if(h<p.minHeight){h=p.minHeight;
}else if(h>p.maxHeight){h=p.maxHeight;
}}
if(f!=null){top=d-h-f-r-o;
}else if(top==null){top=o;
}else{top+=o;
}}g.renderLayout(s,top,j,h);
}},_computeSizeHint:function(){var I=0,H=0;
var F=0,D=0;
var B,A;
var z,x;
var t=this._getLayoutChildren();
var w,G,v;
var J,top,u,y;

for(var i=0,l=t.length;i<l;i++){w=t[i];
G=w.getLayoutProperties();
v=w.getSizeHint();
var E=w.getMarginLeft()+w.getMarginRight();
var C=w.getMarginTop()+w.getMarginBottom();
B=v.width+E;
A=v.minWidth+E;
J=G.left!=null?G.left:G.edge;

if(J&&typeof J===b){B+=J;
A+=J;
}u=G.right!=null?G.right:G.edge;

if(u&&typeof u===b){B+=u;
A+=u;
}I=Math.max(I,B);
H=Math.max(H,A);
z=v.height+C;
x=v.minHeight+C;
top=G.top!=null?G.top:G.edge;

if(top&&typeof top===b){z+=top;
x+=top;
}y=G.bottom!=null?G.bottom:G.edge;

if(y&&typeof y===b){z+=y;
x+=y;
}F=Math.max(F,z);
D=Math.max(D,x);
}return {width:I,minWidth:H,height:F,minHeight:D};
}}});
})();
(function(){var a="qx.html.Root";
qx.Class.define(a,{extend:qx.html.Element,construct:function(b){qx.html.Element.call(this);

if(b!=null){this.useElement(b);
}},members:{useElement:function(c){qx.html.Element.prototype.useElement.call(this,c);
this.setRoot(true);
qx.html.Element._modified[this.$$hash]=this;
}}});
})();
(function(){var a="qx.ui.window.IWindowManager";
qx.Interface.define(a,{members:{setDesktop:function(b){this.assertInterface(b,qx.ui.window.IDesktop);
},changeActiveWindow:function(c,d){},updateStack:function(){},bringToFront:function(e){this.assertInstance(e,qx.ui.window.Window);
},sendToBack:function(f){this.assertInstance(f,qx.ui.window.Window);
}}});
})();
(function(){var b="__ld",a="qx.ui.window.Manager";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.ui.window.IWindowManager,members:{__ld:null,setDesktop:function(c){this.__ld=c;
this.updateStack();
},getDesktop:function(){return this.__ld;
},changeActiveWindow:function(d,e){if(d){this.bringToFront(d);
d.setActive(true);
}
if(e){e.resetActive();
}},_minZIndex:1e5,updateStack:function(){qx.ui.core.queue.Widget.add(this);
},syncWidget:function(){this.__ld.forceUnblockContent();
var f=this.__ld.getWindows();
var h=this._minZIndex;
var m=h+f.length*2;
var j=h+f.length*4;
var k=null;

for(var i=0,l=f.length;i<l;i++){var g=f[i];
if(!g.isVisible()){continue;
}k=k||g;
if(g.isModal()){g.setZIndex(j);
this.__ld.blockContent(j-1);
j+=2;
k=g;
}else if(g.isAlwaysOnTop()){g.setZIndex(m);
m+=2;
}else{g.setZIndex(h);
h+=2;
}if(!k.isModal()&&g.isActive()||g.getZIndex()>k.getZIndex()){k=g;
}}this.__ld.setActiveWindow(k);
},bringToFront:function(n){var o=this.__ld.getWindows();
var p=qx.lang.Array.remove(o,n);

if(p){o.push(n);
this.updateStack();
}},sendToBack:function(q){var r=this.__ld.getWindows();
var s=qx.lang.Array.remove(r,q);

if(s){r.unshift(q);
this.updateStack();
}}},destruct:function(){this._disposeObjects(b);
}});
})();
(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 k="Boolean",j="resize",i="mousedown",h="w-resize",g="sw-resize",f="n-resize",d="resizableRight",c="ne-resize",b="se-resize",a="Integer",z="e-resize",y="resizableLeft",x="mousemove",w="move",v="shorthand",u="maximized",t="nw-resize",s="mouseout",r="qx.ui.core.MResizable",q="mouseup",o="losecapture",p="resize-frame",m="resizableBottom",n="s-resize",l="resizableTop";
qx.Mixin.define(r,{construct:function(){this.addListener(i,this.__lq,this,true);
this.addListener(q,this.__lr,this);
this.addListener(x,this.__lt,this);
this.addListener(s,this.__lu,this);
this.addListener(o,this.__ls,this);
var A=this.getContainerElement().getDomElement();

if(A==null){A=window;
}this.__le=qx.event.Registration.getManager(A).getHandler(qx.event.handler.DragDrop);
},properties:{resizableTop:{check:k,init:true},resizableRight:{check:k,init:true},resizableBottom:{check:k,init:true},resizableLeft:{check:k,init:true},resizable:{group:[l,d,m,y],mode:v},resizeSensitivity:{check:a,init:5},useResizeFrame:{check:k,init:true}},members:{__le:null,__lf:null,__lg:null,__lh:null,__li:null,__lj:null,__lk:null,RESIZE_TOP:1,RESIZE_BOTTOM:2,RESIZE_LEFT:4,RESIZE_RIGHT:8,__ll:function(){var B=this.__lf;

if(!B){B=this.__lf=new qx.ui.core.Widget();
B.setAppearance(p);
B.exclude();
qx.core.Init.getApplication().getRoot().add(B);
}return B;
},__lm:function(){var D=this.__lj;
var C=this.__ll();
C.setUserBounds(D.left,D.top,D.width,D.height);
C.show();
C.setZIndex(this.getZIndex()+1);
},__ln:function(e){var F=this.__lg;
var G=this.getSizeHint();
var J=this.__lk;
var I=this.__lj;
var E=I.width;
var H=I.height;
var L=I.left;
var top=I.top;
var K;

if((F&this.RESIZE_TOP)||(F&this.RESIZE_BOTTOM)){K=Math.max(J.top,Math.min(J.bottom,e.getDocumentTop()))-this.__li;

if(F&this.RESIZE_TOP){H-=K;
}else{H+=K;
}
if(H<G.minHeight){H=G.minHeight;
}else if(H>G.maxHeight){H=G.maxHeight;
}
if(F&this.RESIZE_TOP){top+=I.height-H;
}}
if((F&this.RESIZE_LEFT)||(F&this.RESIZE_RIGHT)){K=Math.max(J.left,Math.min(J.right,e.getDocumentLeft()))-this.__lh;

if(F&this.RESIZE_LEFT){E-=K;
}else{E+=K;
}
if(E<G.minWidth){E=G.minWidth;
}else if(E>G.maxWidth){E=G.maxWidth;
}
if(F&this.RESIZE_LEFT){L+=I.width-E;
}}return {viewportLeft:L,viewportTop:top,parentLeft:I.bounds.left+L-I.left,parentTop:I.bounds.top+top-I.top,width:E,height:H};
},__lo:{1:f,2:n,4:h,8:z,5:t,6:g,9:c,10:b},__lp:function(e){var O=this.getContentLocation();
var M=this.getResizeSensitivity();
var Q=e.getDocumentLeft();
var P=e.getDocumentTop();
var N=0;

if(this.getResizableTop()&&Math.abs(O.top-P)<M){N+=this.RESIZE_TOP;
}else if(this.getResizableBottom()&&Math.abs(O.bottom-P)<M){N+=this.RESIZE_BOTTOM;
}
if(this.getResizableLeft()&&Math.abs(O.left-Q)<M){N+=this.RESIZE_LEFT;
}else if(this.getResizableRight()&&Math.abs(O.right-Q)<M){N+=this.RESIZE_RIGHT;
}this.__lg=N;
},__lq:function(e){if(!this.__lg){return;
}this.addState(j);
this.__lh=e.getDocumentLeft();
this.__li=e.getDocumentTop();
var location=this.getContainerLocation();
var T=this.getBounds();
this.__lj={top:location.top,left:location.left,width:T.width,height:T.height,bounds:qx.lang.Object.clone(T)};
var parent=this.getLayoutParent();
var R=parent.getContentLocation();
var S=parent.getBounds();
this.__lk={left:R.left,top:R.top,right:R.left+S.width,bottom:R.top+S.height};
if(this.getUseResizeFrame()){this.__lm();
}this.capture();
e.stop();
},__lr:function(e){if(!this.hasState(j)){return;
}if(this.getUseResizeFrame()){this.__ll().exclude();
}var U=this.__ln(e);
this.setWidth(U.width);
this.setHeight(U.height);
if(this.getResizableLeft()||this.getResizableTop()){this.setLayoutProperties({left:U.parentLeft,top:U.parentTop});
}this.__lg=0;
this.removeState(j);
this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
this.releaseCapture();
e.stopPropagation();
},__ls:function(e){if(!this.__lg){return;
}this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
this.removeState(w);
if(this.getUseResizeFrame()){this.__ll().exclude();
}},__lt:function(e){if(this.hasState(j)){var Y=this.__ln(e);
if(this.getUseResizeFrame()){var W=this.__ll();
W.setUserBounds(Y.viewportLeft,Y.viewportTop,Y.width,Y.height);
}else{this.setWidth(Y.width);
this.setHeight(Y.height);
if(this.getResizableLeft()||this.getResizableTop()){this.setLayoutProperties({left:Y.parentLeft,top:Y.parentTop});
}}e.stopPropagation();
}else if(!this.hasState(u)&&!this.__le.isSessionActive()){this.__lp(e);
var ba=this.__lg;
var X=this.getApplicationRoot();

if(ba){var V=this.__lo[ba];
this.setCursor(V);
X.setGlobalCursor(V);
}else if(this.getCursor()){this.resetCursor();
X.resetGlobalCursor();
}}},__lu:function(e){if(this.getCursor()&&!this.hasState(j)){this.resetCursor();
this.getApplicationRoot().resetGlobalCursor();
}}},destruct:function(){if(this.__lf!=null&&!qx.core.ObjectRegistry.inShutDown){this.__lf.destroy();
this.__lf=null;
}this.__le=null;
}});
})();
(function(){var l="move",k="Boolean",j="mouseup",i="mousedown",h="losecapture",g="qx.ui.core.MMovable",f="__lw",d="mousemove",c="__lv",b="maximized",a="move-frame";
qx.Mixin.define(g,{properties:{movable:{check:k,init:true},useMoveFrame:{check:k,init:false}},members:{__lv:null,__lw:null,__lx:null,__ly:null,__lz:null,__lA:null,__lB:null,__lC:false,__lD:null,__lE:0,_activateMoveHandle:function(m){if(this.__lv){throw new Error("The move handle could not be redefined!");
}this.__lv=m;
m.addListener(i,this._onMoveMouseDown,this);
m.addListener(j,this._onMoveMouseUp,this);
m.addListener(d,this._onMoveMouseMove,this);
m.addListener(h,this.__lI,this);
},__lF:function(){var n=this.__lw;

if(!n){n=this.__lw=new qx.ui.core.Widget();
n.setAppearance(a);
n.exclude();
qx.core.Init.getApplication().getRoot().add(n);
}return n;
},__lG:function(){var location=this.getContainerLocation();
var p=this.getBounds();
var o=this.__lF();
o.setUserBounds(location.left,location.top,p.width,p.height);
o.show();
o.setZIndex(this.getZIndex()+1);
},__lH:function(e){var r=this.__lx;
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.__ly+u;
var s=this.__lz+t;
return {viewportLeft:q,viewportTop:s,parentLeft:q-this.__lA,parentTop:s-this.__lB};
},_onMoveMouseDown:function(e){if(!this.getMovable()||this.hasState(b)){return;
}var parent=this.getLayoutParent();
var w=parent.getContentLocation();
var x=parent.getBounds();
if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(!parent.isContentBlocked()){this.__lD=parent.getBlockerColor();
this.__lE=parent.getBlockerOpacity();
parent.setBlockerColor(null);
parent.setBlockerOpacity(1);
parent.blockContent(this.getZIndex()-1);
this.__lC=true;
}}this.__lx={left:w.left,top:w.top,right:w.left+x.width,bottom:w.top+x.height};
var v=this.getContainerLocation();
this.__lA=w.left;
this.__lB=w.top;
this.__ly=v.left-e.getDocumentLeft();
this.__lz=v.top-e.getDocumentTop();
this.addState(l);
this.__lv.capture();
if(this.getUseMoveFrame()){this.__lG();
}e.stop();
},_onMoveMouseMove:function(e){if(!this.hasState(l)){return;
}var y=this.__lH(e);

if(this.getUseMoveFrame()){this.__lF().setDomPosition(y.viewportLeft,y.viewportTop);
}else{this.setDomPosition(y.parentLeft,y.parentTop);
}e.stopPropagation();
},_onMoveMouseUp:function(e){if(!this.hasState(l)){return;
}this.removeState(l);
var parent=this.getLayoutParent();

if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(this.__lC){parent.unblockContent();
parent.setBlockerColor(this.__lD);
parent.setBlockerOpacity(this.__lE);
this.__lD=null;
this.__lE=0;
this.__lC=false;
}}this.__lv.releaseCapture();
var z=this.__lH(e);
this.setLayoutProperties({left:z.parentLeft,top:z.parentTop});
if(this.getUseMoveFrame()){this.__lF().exclude();
}e.stopPropagation();
},__lI:function(e){if(!this.hasState(l)){return;
}this.removeState(l);
if(this.getUseMoveFrame()){this.__lF().exclude();
}}},destruct:function(){this._disposeObjects(f,c);
this.__lx=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:{__lJ:{contentPaddingTop:i,contentPaddingRight:h,contentPaddingBottom:m,contentPaddingLeft:f},__lK:{contentPaddingTop:l,contentPaddingRight:n,contentPaddingBottom:g,contentPaddingLeft:j},_applyContentPadding:function(q,r,name){var s=this._getContentPaddingTarget();

if(q==null){var t=this.__lK[name];
s[t]();
}else{var u=this.__lJ[name];
s[u](q);
}}}});
})();
(function(){var l="indexOf",k="addAfter",j="add",i="addBefore",h="_",g="addAt",f="hasChildren",e="removeAt",d="removeAll",c="getChildren",a="remove",b="qx.ui.core.MRemoteChildrenHandling";
qx.Mixin.define(b,{members:{__lL:function(m,n,o,p){var q=this.getChildrenContainer();

if(q===this){m=h+m;
}return (q[m])(n,o,p);
},getChildren:function(){return this.__lL(c);
},hasChildren:function(){return this.__lL(f);
},add:function(r,s){return this.__lL(j,r,s);
},remove:function(t){return this.__lL(a,t);
},removeAll:function(){return this.__lL(d);
},indexOf:function(u){return this.__lL(l,u);
},addAt:function(v,w,x){this.__lL(g,v,w,x);
},addBefore:function(y,z,A){this.__lL(i,y,z,A);
},addAfter:function(B,C,D){this.__lL(k,B,C,D);
},removeAt:function(E){this.__lL(e,E);
}}});
})();
(function(){var k="Boolean",j="qx.event.type.Event",i="captionbar",h="_applyCaptionBarChange",g="maximize-button",f="restore-button",d="minimize-button",c="close-button",b="maximized",a="execute",Q="pane",P="title",O="icon",N="statusbar-text",M="statusbar",L="String",K="normal",J="active",I="beforeClose",H="beforeMinimize",r="mousedown",s="changeStatus",p="changeIcon",q="excluded",n="dblclick",o="_applyActive",l="beforeRestore",m="minimize",t="changeModal",u="changeAlwaysOnTop",z="_applyShowStatusbar",y="_applyStatus",B="qx.ui.window.Window",A="changeCaption",D="focusout",C="beforeMaximize",w="maximize",G="restore",F="window",E="close",v="changeActive",x="minimized";
qx.Class.define(B,{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(R,S){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.VBox());
this._createChildControl(i);
this._createChildControl(Q);
if(S!=null){this.setIcon(S);
}
if(R!=null){this.setCaption(R);
}this._updateCaptionBar();
this.addListener(r,this._onWindowMouseDown,this,true);
this.addListener(D,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":j,"close":j,"beforeMinimize":j,"minimize":j,"beforeMaximize":j,"maximize":j,"beforeRestore":j,"restore":j},properties:{appearance:{refine:true,init:F},visibility:{refine:true,init:q},focusable:{refine:true,init:true},active:{check:k,init:false,apply:o,event:v},alwaysOnTop:{check:k,init:false,event:u},modal:{check:k,init:false,event:t},caption:{apply:h,event:A,nullable:true},icon:{check:L,nullable:true,apply:h,event:p,themeable:true},status:{check:L,nullable:true,apply:y,event:s},showClose:{check:k,init:true,apply:h,themeable:true},showMaximize:{check:k,init:true,apply:h,themeable:true},showMinimize:{check:k,init:true,apply:h,themeable:true},allowClose:{check:k,init:true,apply:h},allowMaximize:{check:k,init:true,apply:h},allowMinimize:{check:k,init:true,apply:h},showStatusbar:{check:k,init:false,apply:z}},members:{__lM:null,__lN:null,getChildrenContainer:function(){return this.getChildControl(Q);
},_forwardStates:{active:true,maximized:true},setLayoutParent:function(parent){{};
qx.ui.core.Widget.prototype.setLayoutParent.call(this,parent);
},_createChildControlImpl:function(T,U){var V;

switch(T){case M:V=new qx.ui.container.Composite(new qx.ui.layout.HBox());
this._add(V);
V.add(this.getChildControl(N));
break;
case N:V=new qx.ui.basic.Label();
V.setValue(this.getStatus());
break;
case Q:V=new qx.ui.container.Composite();
this._add(V,{flex:1});
break;
case i:var X=new qx.ui.layout.Grid();
X.setRowFlex(0,1);
X.setColumnFlex(1,1);
V=new qx.ui.container.Composite(X);
this._add(V);
V.addListener(n,this._onCaptionMouseDblClick,this);
this._activateMoveHandle(V);
break;
case O:V=new qx.ui.basic.Image(this.getIcon());
this.getChildControl(i).add(V,{row:0,column:0});
break;
case P:V=new qx.ui.basic.Label(this.getCaption());
V.setWidth(0);
V.setAllowGrowX(true);
var W=this.getChildControl(i);
W.add(V,{row:0,column:1});
break;
case d:V=new qx.ui.form.Button();
V.setFocusable(false);
V.addListener(a,this._onMinimizeButtonClick,this);
this.getChildControl(i).add(V,{row:0,column:2});
break;
case f:V=new qx.ui.form.Button();
V.setFocusable(false);
V.addListener(a,this._onRestoreButtonClick,this);
this.getChildControl(i).add(V,{row:0,column:3});
break;
case g:V=new qx.ui.form.Button();
V.setFocusable(false);
V.addListener(a,this._onMaximizeButtonClick,this);
this.getChildControl(i).add(V,{row:0,column:4});
break;
case c:V=new qx.ui.form.Button();
V.setFocusable(false);
V.addListener(a,this._onCloseButtonClick,this);
this.getChildControl(i).add(V,{row:0,column:6});
break;
}return V||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,T);
},_updateCaptionBar:function(){var ba;
var bb=this.getIcon();

if(bb){this.getChildControl(O).setSource(bb);
this._showChildControl(O);
}else{this._excludeChildControl(O);
}var Y=this.getCaption();

if(Y){this.getChildControl(P).setValue(Y);
this._showChildControl(P);
}else{this._excludeChildControl(P);
}
if(this.getShowMinimize()){this._showChildControl(d);
ba=this.getChildControl(d);
this.getAllowMinimize()?ba.resetEnabled():ba.setEnabled(false);
}else{this._excludeChildControl(d);
}
if(this.getShowMaximize()){if(this.isMaximized()){this._showChildControl(f);
this._excludeChildControl(g);
}else{this._showChildControl(g);
this._excludeChildControl(f);
}ba=this.getChildControl(g);
this.getAllowMaximize()?ba.resetEnabled():ba.setEnabled(false);
}else{this._excludeChildControl(g);
this._excludeChildControl(f);
}
if(this.getShowClose()){this._showChildControl(c);
ba=this.getChildControl(c);
this.getAllowClose()?ba.resetEnabled():ba.setEnabled(false);
}else{this._excludeChildControl(c);
}},close:function(){if(!this.isVisible()){return;
}
if(this.fireNonBubblingEvent(I,qx.event.type.Event,[false,true])){this.hide();
this.fireEvent(E);
}},open:function(){this.show();
this.setActive(true);
this.focus();
},center:function(){var parent=this.getLayoutParent();

if(parent){var bd=parent.getBounds();

if(bd){var be=this.getSizeHint();
var bc=Math.round((bd.width-be.width)/2);
var top=Math.round((bd.height-be.height)/2);

if(top<0){top=0;
}this.moveTo(bc,top);
return;
}}{};
},maximize:function(){if(this.isMaximized()){return;
}var parent=this.getLayoutParent();

if(parent!=null&&parent.supportsMaximize()){if(this.fireNonBubblingEvent(C,qx.event.type.Event,[false,true])){if(!this.isVisible()){this.open();
}var bf=this.getLayoutProperties();
this.__lN=bf.left===undefined?0:bf.left;
this.__lM=bf.top===undefined?0:bf.top;
this.setLayoutProperties({left:null,top:null,edge:0});
this.addState(b);
this._updateCaptionBar();
this.fireEvent(w);
}}},minimize:function(){if(!this.isVisible()){return;
}
if(this.fireNonBubblingEvent(H,qx.event.type.Event,[false,true])){var bg=this.getLayoutProperties();
this.__lN=bg.left===undefined?0:bg.left;
this.__lM=bg.top===undefined?0:bg.top;
this.removeState(b);
this.hide();
this.fireEvent(m);
}},restore:function(){if(this.getMode()===K){return;
}
if(this.fireNonBubblingEvent(l,qx.event.type.Event,[false,true])){if(!this.isVisible()){this.open();
}var bh=this.__lN;
var top=this.__lM;
this.setLayoutProperties({edge:null,left:bh,top:top});
this.removeState(b);
this._updateCaptionBar();
this.fireEvent(G);
}},moveTo:function(bi,top){if(this.isMaximized()){return;
}this.setLayoutProperties({left:bi,top:top});
},isMaximized:function(){return this.hasState(b);
},getMode:function(){if(!this.isVisible()){return x;
}else{if(this.isMaximized()){return b;
}else{return K;
}}},_applyActive:function(bj,bk){if(bk){this.removeState(J);
}else{this.addState(J);
}},_getContentPaddingTarget:function(){return this.getChildControl(Q);
},_applyShowStatusbar:function(bl,bm){if(bl){this._showChildControl(M);
}else{this._excludeChildControl(M);
}},_applyCaptionBarChange:function(bn,bo){this._updateCaptionBar();
},_applyStatus:function(bp,bq){var br=this.getChildControl(N,true);

if(br){br.setValue(bp);
}},_onWindowEventStop:function(e){e.stopPropagation();
},_onWindowMouseDown:function(e){this.setActive(true);
},_onWindowFocusOut:function(e){if(this.getModal()){return;
}var bs=e.getRelatedTarget();

if(bs!=null&&!qx.ui.core.Widget.contains(this,bs)){this.setActive(false);
}},_onCaptionMouseDblClick:function(e){if(this.getAllowMaximize()){this.isMaximized()?this.restore():this.maximize();
}},_onMinimizeButtonClick:function(e){this.minimize();
this.getChildControl(d).reset();
},_onRestoreButtonClick:function(e){this.restore();
this.getChildControl(f).reset();
},_onMaximizeButtonClick:function(e){this.maximize();
this.getChildControl(g).reset();
},_onCloseButtonClick:function(e){this.close();
this.getChildControl(c).reset();
}}});
})();
(function(){var v="help-button",u="/",t="helpUrl",s="http://",r="url",q="track.util.WindowWithHelpIcon",p="Boolean",o="",n=".html",m="_",f="watcheewindow/help-button",l="http://gpsvision.de/portalhelp",i="https://",c="http://watchee.net/portalhelp",b="watcheewindow",h="en",g=".",j="captionbar",a="_applyCaptionBarChange",k="Help",d="execute";
qx.Class.define(q,{extend:qx.ui.window.Window,construct:function(w,x,y){qx.ui.window.Window.call(this);

if(y!==undefined&&y!=null){this.trackGui=y;
}this.setShowMinimize(false);
this.setShowMaximize(false);
this.setContentPadding(2);
this.setUseMoveFrame(true);
this.setResizable(false);
this.setLayout(new qx.ui.layout.VBox(2));
},properties:{showHelp:{check:p,init:true,apply:a,themeable:true},appearance:{refine:true,init:b}},members:{_createChildControlImpl:function(z,A){var B;

switch(z){case v:B=new qx.ui.form.Button();
B.setFocusable(false);
B.addListener(d,this._onHelpButtonClick,this);
B.setAppearance(f);
this.getChildControl(j).add(B,{row:0,column:5});
break;
}return B||qx.ui.window.Window.prototype._createChildControlImpl.call(this,z);
},_updateCaptionBar:function(){if(this.getShowHelp()){this._showChildControl(v);
}else{this._excludeChildControl(v);
}qx.ui.window.Window.prototype._updateCaptionBar.call(this);
},_applyCaptionBarChange:function(C,D){this._updateCaptionBar();
},_onHelpButtonClick:function(e){var name=this.classname;
var I=name.lastIndexOf(g);
var G=name.substring(I+1);
var F=qx.locale.Manager.getInstance().getLocale();

if(F==null||F==o)F=h;
var E=F.indexOf(m);

if(E!=-1){F=F.substring(0,E);
}var H=l;

if(isWatchee){H=c;
}if(this.trackGui!=undefined&&this.trackGui!=null){H=this.trackGui.getMyOemProperty(t,H);
}H=xbProperties.getStrFrom(r,t,H);

if(H.toLowerCase().indexOf(s)==-1&&H.toLowerCase().indexOf(i)==-1){H=s+H;
}
if(H.length>0&&H.charAt(H.length-1)!=u){H+=u;
}H+=F+u+G+n;
this.info(H);
window.open(H,k);
this.getChildControl(v).reset();
}}});
})();
(function(){var v="\n",u="execute",t="updateData",s="containerId=types,id=clickme,label=Clickme,type=bool,editable=true",r="containerId=types,id=audio,label=Sound,type=audio",q="containerId=types,id=date,label=Datums,type=date,editable=true",p="containerId=types,id=image,label=Bilders,type=image",o="track.tasks.TaskWindow",n="containerId=types,id=time,label=Zeit,type=time,editable=true",m="containerId=types,id=list,label=Listen,type=list,list=A;B;C,editable=true",f="updateContainer",l="string=Auto,number=2,bool=true,date=2010-09-09,list=C,audio=clickon,image=CabrioletRed.png,clickme=true,time=00:00:56",i="string=Feuer,number=5,bool=false,date=2010-09-06,list=B,audio=splat,image=FireEscape.png,clickme=false,time=11:16:21",c="16/categories/development.png",b="containerId=types,id=bool,label=Bools,type=bool",h="close",g="window title",j="containerId=types,id=string,label=Strings,type=string,editable=true",a="string=Krankenwagen,number=10,bool=true,date=2010-09-07,list=A,audio=zoom,image=Ambulance.png,clickme=true,time=09:45:21",k="containerId=types,id=number,label=Numbers,type=number,editable=true",d="Tasks";
qx.Class.define(o,{extend:track.util.WindowWithHelpIcon,construct:function(w){track.util.WindowWithHelpIcon.call(this);
this.trackGui=w;
this.setUseMoveFrame(true);
this.setResizable(false);
this.setLayout(new qx.ui.layout.VBox(5));
this.setCaption(this.trc(g,d));
this.setIcon(xbGetQxIcon(c));
this.addListener(h,function(e){this.clear();
},this);
this.containerIdCSVArr=[j,k,b,s,q,m,r,p,n];
this.dataCSVArr=[a,i,l];
},members:{setContainerIdCSVArr:function(x){this.containerIdCSVArr=x;
this.containerArea.setValue(this.containerIdCSVArr.join(v));
var y=createContainerIdObject(this.containerIdCSVArr);
this.taskFilter.updateItems(y);
},concatContainerIdCSVArr:function(z){this.containerIdCSVArr=this.containerIdCSVArr.concat(z);
this.containerArea.setValue(this.containerIdCSVArr.join(v));
},setDataCSVArr:function(A){this.dataCSVArr=A;
this.dataArea.setValue(this.dataCSVArr.join(v));
var B=createDataArray(this.dataCSVArr);
this.taskFilter.updateData(B);
},concatDataCSVArr:function(C){this.dataCSVArr=this.dataCSVArr.concat(C);
this.dataArea.setValue(this.dataCSVArr.join(v));
},create:function(){var D=new qx.ui.container.Composite(new qx.ui.layout.Grid(2));
this.containerArea=new qx.ui.form.TextArea(this.containerIdCSVArr.join(v));
this.containerArea.set({width:600,height:300});
var E=new qx.ui.form.Button(f);
E.addListener(u,function(){this.setContainerIdCSVArr(this.containerArea.getValue().split(v));
},this);
this.dataArea=new qx.ui.form.TextArea(this.dataCSVArr.join(v));
this.dataArea.set({width:600,height:300});
var F=new qx.ui.form.Button(t);
F.addListener(u,function(){this.setDataCSVArr(this.dataArea.getValue().split(v));
},this);
D.add(this.containerArea,{row:0,column:0});
D.add(E,{row:1,column:0});
D.add(this.dataArea,{row:0,column:1});
D.add(F,{row:1,column:1});
this.add(D);
this.taskFilter=new track.tasks.TaskFilter(this);
this.add(this.taskFilter);
F.fireEvent(u);
E.fireEvent(u);
return this;
},clear:function(){},destroyPopup:function(){this.trackGui.getMyRoot().remove(this);

try{this.clear();
}catch(G){this.error("TaskWindow.js destroyPopup failed: "+G);
}this.close();
this.trackGui=null;
}}});
})();
(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(o,p,q){qx.ui.layout.Abstract.call(this);

if(o){this.setSpacing(o);
}
if(p){this.setAlignY(p);
}
if(q){this.setSeparator(q);
}},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:{__lO:null,__lP:null,__lQ:null,__lR:null,_applyReversed:function(){this._invalidChildrenCache=true;
this._applyLayoutChange();
},__lS:function(){var w=this._getLayoutChildren();
var length=w.length;
var s=false;
var r=this.__lO&&this.__lO.length!=length&&this.__lP&&this.__lO;
var u;
var t=r?this.__lO:new Array(length);
var v=r?this.__lP:new Array(length);
if(this.getReversed()){w=w.concat().reverse();
}for(var i=0;i<length;i++){u=w[i].getLayoutProperties();

if(u.height!=null){t[i]=parseFloat(u.height)/100;
}
if(u.flex!=null){v[i]=u.flex;
s=true;
}else{v[i]=0;
}}if(!r){this.__lO=t;
this.__lP=v;
}this.__lQ=s;
this.__lR=w;
delete this._invalidChildrenCache;
},verifyLayoutProperty:null,renderLayout:function(x,y){if(this._invalidChildrenCache){this.__lS();
}var F=this.__lR;
var length=F.length;
var P=qx.ui.layout.Util;
var O=this.getSpacing();
var S=this.getSeparator();

if(S){var C=P.computeVerticalSeparatorGaps(F,O,S);
}else{var C=P.computeVerticalGaps(F,O,true);
}var i,A,B,J;
var K=[];
var Q=C;

for(i=0;i<length;i+=1){J=this.__lO[i];
B=J!=null?Math.floor((y-C)*J):F[i].getSizeHint().height;
K.push(B);
Q+=B;
}if(this.__lQ&&Q!=y){var H={};
var N,R;

for(i=0;i<length;i+=1){N=this.__lP[i];

if(N>0){G=F[i].getSizeHint();
H[i]={min:G.minHeight,value:K[i],max:G.maxHeight,flex:N};
}}var D=P.computeFlexOffsets(H,y,Q);

for(i in D){R=D[i].offset;
K[i]+=R;
Q+=R;
}}var top=F[0].getMarginTop();
if(Q<y&&this.getAlignY()!=m){top=y-Q;

if(this.getAlignY()===j){top=Math.round(top/2);
}}var G,U,L,B,I,M,E;
this._clearSeparators();
if(S){var T=qx.theme.manager.Decoration.getInstance().resolve(S).getInsets();
var z=T.top+T.bottom;
}for(i=0;i<length;i+=1){A=F[i];
B=K[i];
G=A.getSizeHint();
M=A.getMarginLeft();
E=A.getMarginRight();
L=Math.max(G.minWidth,Math.min(x-M-E,G.maxWidth));
U=P.computeHorizontalAlignOffset(A.getAlignX()||this.getAlignX(),L,x,M,E);
if(i>0){if(S){top+=I+O;
this._renderSeparator(S,{top:top,left:0,height:z,width:x});
top+=z+O+A.getMarginTop();
}else{top+=P.collapseMargins(O,I,A.getMarginTop());
}}A.renderLayout(U,top,L,B);
top+=B;
I=A.getMarginBottom();
}},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lS();
}var bc=qx.ui.layout.Util;
var bk=this.__lR;
var X=0,bb=0,ba=0;
var V=0,bd=0;
var bh,W,bj;
for(var i=0,l=bk.length;i<l;i+=1){bh=bk[i];
W=bh.getSizeHint();
bb+=W.height;
var bg=this.__lP[i];
var Y=this.__lO[i];

if(bg){X+=W.minHeight;
}else if(Y){ba=Math.max(ba,Math.round(W.minHeight/Y));
}else{X+=W.height;
}bj=bh.getMarginLeft()+bh.getMarginRight();
if((W.width+bj)>bd){bd=W.width+bj;
}if((W.minWidth+bj)>V){V=W.minWidth+bj;
}}X+=ba;
var bf=this.getSpacing();
var bi=this.getSeparator();

if(bi){var be=bc.computeVerticalSeparatorGaps(bk,bf,bi);
}else{var be=bc.computeVerticalGaps(bk,bf,true);
}return {minHeight:X+be,height:bb+be,minWidth:V,width:bd};
}},destruct:function(){this.__lO=this.__lP=this.__lR=null;
}});
})();
(function(){var n="_applyLayoutChange",m="left",k="center",j="top",h="Decorator",g="middle",f="_applyReversed",e="bottom",d="Boolean",c="right",a="Integer",b="qx.ui.layout.HBox";
qx.Class.define(b,{extend:qx.ui.layout.Abstract,construct:function(o,p,q){qx.ui.layout.Abstract.call(this);

if(o){this.setSpacing(o);
}
if(p){this.setAlignX(p);
}
if(q){this.setSeparator(q);
}},properties:{alignX:{check:[m,k,c],init:m,apply:n},alignY:{check:[j,g,e],init:j,apply:n},spacing:{check:a,init:0,apply:n},separator:{check:h,nullable:true,apply:n},reversed:{check:d,init:false,apply:f}},members:{__lT:null,__lU:null,__lV:null,__lW:null,_applyReversed:function(){this._invalidChildrenCache=true;
this._applyLayoutChange();
},__lX:function(){var w=this._getLayoutChildren();
var length=w.length;
var t=false;
var r=this.__lT&&this.__lT.length!=length&&this.__lU&&this.__lT;
var u;
var s=r?this.__lT:new Array(length);
var v=r?this.__lU:new Array(length);
if(this.getReversed()){w=w.concat().reverse();
}for(var i=0;i<length;i++){u=w[i].getLayoutProperties();

if(u.width!=null){s[i]=parseFloat(u.width)/100;
}
if(u.flex!=null){v[i]=u.flex;
t=true;
}else{v[i]=0;
}}if(!r){this.__lT=s;
this.__lU=v;
}this.__lV=t;
this.__lW=w;
delete this._invalidChildrenCache;
},verifyLayoutProperty:null,renderLayout:function(x,y){if(this._invalidChildrenCache){this.__lX();
}var E=this.__lW;
var length=E.length;
var N=qx.ui.layout.Util;
var M=this.getSpacing();
var Q=this.getSeparator();

if(Q){var B=N.computeHorizontalSeparatorGaps(E,M,Q);
}else{var B=N.computeHorizontalGaps(E,M,true);
}var i,z,K,J;
var P=[];
var F=B;

for(i=0;i<length;i+=1){J=this.__lT[i];
K=J!=null?Math.floor((x-B)*J):E[i].getSizeHint().width;
P.push(K);
F+=K;
}if(this.__lV&&F!=x){var H={};
var L,O;

for(i=0;i<length;i+=1){L=this.__lU[i];

if(L>0){G=E[i].getSizeHint();
H[i]={min:G.minWidth,value:P[i],max:G.maxWidth,flex:L};
}}var C=N.computeFlexOffsets(H,x,F);

for(i in C){O=C[i].offset;
P[i]+=O;
F+=O;
}}var U=E[0].getMarginLeft();
if(F<x&&this.getAlignX()!=m){U=x-F;

if(this.getAlignX()===k){U=Math.round(U/2);
}}var G,top,A,K,D,S,I;
var M=this.getSpacing();
this._clearSeparators();
if(Q){var R=qx.theme.manager.Decoration.getInstance().resolve(Q).getInsets();
var T=R.left+R.right;
}for(i=0;i<length;i+=1){z=E[i];
K=P[i];
G=z.getSizeHint();
S=z.getMarginTop();
I=z.getMarginBottom();
A=Math.max(G.minHeight,Math.min(y-S-I,G.maxHeight));
top=N.computeVerticalAlignOffset(z.getAlignY()||this.getAlignY(),A,y,S,I);
if(i>0){if(Q){U+=D+M;
this._renderSeparator(Q,{left:U,top:0,width:T,height:y});
U+=T+M+z.getMarginLeft();
}else{U+=N.collapseMargins(M,D,z.getMarginLeft());
}}z.renderLayout(U,top,K,A);
U+=K;
D=z.getMarginRight();
}},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lX();
}var bc=qx.ui.layout.Util;
var bk=this.__lW;
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.__lU[i];
var X=this.__lT[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.__lT=this.__lU=this.__lW=null;
}});
})();
(function(){var r="left",q="top",p="_applyLayoutChange",o="hAlign",n="flex",m="vAlign",h="Integer",g="minWidth",f="width",e="minHeight",b="qx.ui.layout.Grid",d="height",c="maxHeight",a="maxWidth";
qx.Class.define(b,{extend:qx.ui.layout.Abstract,construct:function(s,t){qx.ui.layout.Abstract.call(this);
this.__lY=[];
this.__ma=[];

if(s){this.setSpacingX(s);
}
if(t){this.setSpacingY(t);
}},properties:{spacingX:{check:h,init:0,apply:p},spacingY:{check:h,init:0,apply:p}},members:{__mb:null,__lY:null,__ma:null,__mc:null,__md:null,__me:null,__mf:null,__mg:null,__mh:null,verifyLayoutProperty:null,__mi:function(){var B=[];
var A=[];
var C=[];
var w=-1;
var v=-1;
var E=this._getLayoutChildren();

for(var i=0,l=E.length;i<l;i++){var z=E[i];
var D=z.getLayoutProperties();
var F=D.row;
var u=D.column;
D.colSpan=D.colSpan||1;
D.rowSpan=D.rowSpan||1;
if(F==null||u==null){throw new Error("The layout properties 'row' and 'column' of the child widget '"+z+"' must be defined!");
}
if(B[F]&&B[F][u]){throw new Error("Cannot add widget '"+z+"'!. "+"There is already a widget '"+B[F][u]+"' in this cell ("+F+", "+u+")");
}
for(var x=u;x<u+D.colSpan;x++){for(var y=F;y<F+D.rowSpan;y++){if(B[y]==undefined){B[y]=[];
}B[y][x]=z;
v=Math.max(v,x);
w=Math.max(w,y);
}}
if(D.rowSpan>1){C.push(z);
}
if(D.colSpan>1){A.push(z);
}}for(var y=0;y<=w;y++){if(B[y]==undefined){B[y]=[];
}}this.__mb=B;
this.__mc=A;
this.__md=C;
this.__me=w;
this.__mf=v;
this.__mg=null;
this.__mh=null;
delete this._invalidChildrenCache;
},_setRowData:function(G,H,I){var J=this.__lY[G];

if(!J){this.__lY[G]={};
this.__lY[G][H]=I;
}else{J[H]=I;
}},_setColumnData:function(K,L,M){var N=this.__ma[K];

if(!N){this.__ma[K]={};
this.__ma[K][L]=M;
}else{N[L]=M;
}},setSpacing:function(O){this.setSpacingY(O);
this.setSpacingX(O);
return this;
},setColumnAlign:function(P,Q,R){{};
this._setColumnData(P,o,Q);
this._setColumnData(P,m,R);
this._applyLayoutChange();
return this;
},getColumnAlign:function(S){var T=this.__ma[S]||{};
return {vAlign:T.vAlign||q,hAlign:T.hAlign||r};
},setRowAlign:function(U,V,W){{};
this._setRowData(U,o,V);
this._setRowData(U,m,W);
this._applyLayoutChange();
return this;
},getRowAlign:function(X){var Y=this.__lY[X]||{};
return {vAlign:Y.vAlign||q,hAlign:Y.hAlign||r};
},getCellWidget:function(ba,bb){if(this._invalidChildrenCache){this.__mi();
}var ba=this.__mb[ba]||{};
return ba[bb]||null;
},getRowCount:function(){if(this._invalidChildrenCache){this.__mi();
}return this.__me+1;
},getColumnCount:function(){if(this._invalidChildrenCache){this.__mi();
}return this.__mf+1;
},getCellAlign:function(bc,bd){var bj=q;
var bh=r;
var bi=this.__lY[bc];
var bf=this.__ma[bd];
var be=this.__mb[bc][bd];

if(be){var bg={vAlign:be.getAlignY(),hAlign:be.getAlignX()};
}else{bg={};
}if(bg.vAlign){bj=bg.vAlign;
}else if(bi&&bi.vAlign){bj=bi.vAlign;
}else if(bf&&bf.vAlign){bj=bf.vAlign;
}if(bg.hAlign){bh=bg.hAlign;
}else if(bf&&bf.hAlign){bh=bf.hAlign;
}else if(bi&&bi.hAlign){bh=bi.hAlign;
}return {vAlign:bj,hAlign:bh};
},setColumnFlex:function(bk,bl){this._setColumnData(bk,n,bl);
this._applyLayoutChange();
return this;
},getColumnFlex:function(bm){var bn=this.__ma[bm]||{};
return bn.flex!==undefined?bn.flex:0;
},setRowFlex:function(bo,bp){this._setRowData(bo,n,bp);
this._applyLayoutChange();
return this;
},getRowFlex:function(bq){var br=this.__lY[bq]||{};
var bs=br.flex!==undefined?br.flex:0;
return bs;
},setColumnMaxWidth:function(bt,bu){this._setColumnData(bt,a,bu);
this._applyLayoutChange();
return this;
},getColumnMaxWidth:function(bv){var bw=this.__ma[bv]||{};
return bw.maxWidth!==undefined?bw.maxWidth:Infinity;
},setColumnWidth:function(bx,by){this._setColumnData(bx,f,by);
this._applyLayoutChange();
return this;
},getColumnWidth:function(bz){var bA=this.__ma[bz]||{};
return bA.width!==undefined?bA.width:null;
},setColumnMinWidth:function(bB,bC){this._setColumnData(bB,g,bC);
this._applyLayoutChange();
return this;
},getColumnMinWidth:function(bD){var bE=this.__ma[bD]||{};
return bE.minWidth||0;
},setRowMaxHeight:function(bF,bG){this._setRowData(bF,c,bG);
this._applyLayoutChange();
return this;
},getRowMaxHeight:function(bH){var bI=this.__lY[bH]||{};
return bI.maxHeight||Infinity;
},setRowHeight:function(bJ,bK){this._setRowData(bJ,d,bK);
this._applyLayoutChange();
return this;
},getRowHeight:function(bL){var bM=this.__lY[bL]||{};
return bM.height!==undefined?bM.height:null;
},setRowMinHeight:function(bN,bO){this._setRowData(bN,e,bO);
this._applyLayoutChange();
return this;
},getRowMinHeight:function(bP){var bQ=this.__lY[bP]||{};
return bQ.minHeight||0;
},__mj:function(bR){var bV=bR.getSizeHint();
var bU=bR.getMarginLeft()+bR.getMarginRight();
var bT=bR.getMarginTop()+bR.getMarginBottom();
var bS={height:bV.height+bT,width:bV.width+bU,minHeight:bV.minHeight+bT,minWidth:bV.minWidth+bU,maxHeight:bV.maxHeight+bT,maxWidth:bV.maxWidth+bU};
return bS;
},_fixHeightsRowSpan:function(bW){var ck=this.getSpacingY();

for(var i=0,l=this.__md.length;i<l;i++){var ca=this.__md[i];
var cc=this.__mj(ca);
var cd=ca.getLayoutProperties();
var bY=cd.row;
var ci=ck*(cd.rowSpan-1);
var bX=ci;
var cf={};

for(var j=0;j<cd.rowSpan;j++){var cm=cd.row+j;
var cb=bW[cm];
var cl=this.getRowFlex(cm);

if(cl>0){cf[cm]={min:cb.minHeight,value:cb.height,max:cb.maxHeight,flex:cl};
}ci+=cb.height;
bX+=cb.minHeight;
}if(ci<cc.height){if(!qx.lang.Object.isEmpty(cf)){var cj=qx.ui.layout.Util.computeFlexOffsets(cf,cc.height,ci);

for(var k=0;k<cd.rowSpan;k++){var ce=cj[bY+k]?cj[bY+k].offset:0;
bW[bY+k].height+=ce;
}}else{var cg=ck*(cd.rowSpan-1);
var ch=cc.height-cg;
var cb=Math.floor(ch/cd.rowSpan);

for(var k=0;k<cd.rowSpan;k++){bW[bY+k].height=cb;
}}}if(bX<cc.minHeight){var cj=qx.ui.layout.Util.computeFlexOffsets(cf,cc.minHeight,bX);

for(var j=0;j<cd.rowSpan;j++){var ce=cj[bY+j]?cj[bY+j].offset:0;
bW[bY+j].minHeight+=ce;
}}}},_fixWidthsColSpan:function(cn){var cr=this.getSpacingX();

for(var i=0,l=this.__mc.length;i<l;i++){var co=this.__mc[i];
var cq=this.__mj(co);
var ct=co.getLayoutProperties();
var cp=ct.column;
var cz=cr*(ct.colSpan-1);
var cs=cz;
var cu={};
var cw;

for(var j=0;j<ct.colSpan;j++){var cA=ct.column+j;
var cy=cn[cA];
var cx=this.getColumnFlex(cA);
if(cx>0){cu[cA]={min:cy.minWidth,value:cy.width,max:cy.maxWidth,flex:cx};
}cz+=cy.width;
cs+=cy.minWidth;
}if(cz<cq.width){var cv=qx.ui.layout.Util.computeFlexOffsets(cu,cq.width,cz);

for(var j=0;j<ct.colSpan;j++){cw=cv[cp+j]?cv[cp+j].offset:0;
cn[cp+j].width+=cw;
}}if(cs<cq.minWidth){var cv=qx.ui.layout.Util.computeFlexOffsets(cu,cq.minWidth,cs);

for(var j=0;j<ct.colSpan;j++){cw=cv[cp+j]?cv[cp+j].offset:0;
cn[cp+j].minWidth+=cw;
}}}},_getRowHeights:function(){if(this.__mg!=null){return this.__mg;
}var cK=[];
var cD=this.__me;
var cC=this.__mf;

for(var cL=0;cL<=cD;cL++){var cE=0;
var cG=0;
var cF=0;

for(var cJ=0;cJ<=cC;cJ++){var cB=this.__mb[cL][cJ];

if(!cB){continue;
}var cH=cB.getLayoutProperties().rowSpan||0;

if(cH>1){continue;
}var cI=this.__mj(cB);

if(this.getRowFlex(cL)>0){cE=Math.max(cE,cI.minHeight);
}else{cE=Math.max(cE,cI.height);
}cG=Math.max(cG,cI.height);
}var cE=Math.max(cE,this.getRowMinHeight(cL));
var cF=this.getRowMaxHeight(cL);

if(this.getRowHeight(cL)!==null){var cG=this.getRowHeight(cL);
}else{var cG=Math.max(cE,Math.min(cG,cF));
}cK[cL]={minHeight:cE,height:cG,maxHeight:cF};
}
if(this.__md.length>0){this._fixHeightsRowSpan(cK);
}this.__mg=cK;
return cK;
},_getColWidths:function(){if(this.__mh!=null){return this.__mh;
}var cQ=[];
var cN=this.__mf;
var cP=this.__me;

for(var cV=0;cV<=cN;cV++){var cT=0;
var cS=0;
var cO=Infinity;

for(var cW=0;cW<=cP;cW++){var cM=this.__mb[cW][cV];

if(!cM){continue;
}var cR=cM.getLayoutProperties().colSpan||0;

if(cR>1){continue;
}var cU=this.__mj(cM);

if(this.getColumnFlex(cV)>0){cS=Math.max(cS,cU.minWidth);
}else{cS=Math.max(cS,cU.width);
}cT=Math.max(cT,cU.width);
}var cS=Math.max(cS,this.getColumnMinWidth(cV));
var cO=this.getColumnMaxWidth(cV);

if(this.getColumnWidth(cV)!==null){var cT=this.getColumnWidth(cV);
}else{var cT=Math.max(cS,Math.min(cT,cO));
}cQ[cV]={minWidth:cS,width:cT,maxWidth:cO};
}
if(this.__mc.length>0){this._fixWidthsColSpan(cQ);
}this.__mh=cQ;
return cQ;
},_getColumnFlexOffsets:function(cX){var cY=this.getSizeHint();
var dd=cX-cY.width;

if(dd==0){return {};
}var db=this._getColWidths();
var da={};

for(var i=0,l=db.length;i<l;i++){var de=db[i];
var dc=this.getColumnFlex(i);

if((dc<=0)||(de.width==de.maxWidth&&dd>0)||(de.width==de.minWidth&&dd<0)){continue;
}da[i]={min:de.minWidth,value:de.width,max:de.maxWidth,flex:dc};
}return qx.ui.layout.Util.computeFlexOffsets(da,cX,cY.width);
},_getRowFlexOffsets:function(df){var dg=this.getSizeHint();
var dj=df-dg.height;

if(dj==0){return {};
}var dk=this._getRowHeights();
var dh={};

for(var i=0,l=dk.length;i<l;i++){var dl=dk[i];
var di=this.getRowFlex(i);

if((di<=0)||(dl.height==dl.maxHeight&&dj>0)||(dl.height==dl.minHeight&&dj<0)){continue;
}dh[i]={min:dl.minHeight,value:dl.height,max:dl.maxHeight,flex:di};
}return qx.ui.layout.Util.computeFlexOffsets(dh,df,dg.height);
},renderLayout:function(dm,dn){if(this._invalidChildrenCache){this.__mi();
}var dC=qx.ui.layout.Util;
var dq=this.getSpacingX();
var dw=this.getSpacingY();
var dH=this._getColWidths();
var dG=this._getColumnFlexOffsets(dm);
var dr=[];
var dJ=this.__mf;
var dp=this.__me;
var dI;

for(var dK=0;dK<=dJ;dK++){dI=dG[dK]?dG[dK].offset:0;
dr[dK]=dH[dK].width+dI;
}var dz=this._getRowHeights();
var dB=this._getRowFlexOffsets(dn);
var dQ=[];

for(var dx=0;dx<=dp;dx++){dI=dB[dx]?dB[dx].offset:0;
dQ[dx]=dz[dx].height+dI;
}var dR=0;

for(var dK=0;dK<=dJ;dK++){var top=0;

for(var dx=0;dx<=dp;dx++){var dE=this.__mb[dx][dK];
if(!dE){top+=dQ[dx]+dw;
continue;
}var ds=dE.getLayoutProperties();
if(ds.row!==dx||ds.column!==dK){top+=dQ[dx]+dw;
continue;
}var dP=dq*(ds.colSpan-1);

for(var i=0;i<ds.colSpan;i++){dP+=dr[dK+i];
}var dF=dw*(ds.rowSpan-1);

for(var i=0;i<ds.rowSpan;i++){dF+=dQ[dx+i];
}var dt=dE.getSizeHint();
var dN=dE.getMarginTop();
var dD=dE.getMarginLeft();
var dA=dE.getMarginBottom();
var dv=dE.getMarginRight();
var dy=Math.max(dt.minWidth,Math.min(dP-dD-dv,dt.maxWidth));
var dO=Math.max(dt.minHeight,Math.min(dF-dN-dA,dt.maxHeight));
var dL=this.getCellAlign(dx,dK);
var dM=dR+dC.computeHorizontalAlignOffset(dL.hAlign,dy,dP,dD,dv);
var du=top+dC.computeVerticalAlignOffset(dL.vAlign,dO,dF,dN,dA);
dE.renderLayout(dM,du,dy,dO);
top+=dQ[dx]+dw;
}dR+=dr[dK]+dq;
}},invalidateLayoutCache:function(){qx.ui.layout.Abstract.prototype.invalidateLayoutCache.call(this);
this.__mh=null;
this.__mg=null;
},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__mi();
}var dW=this._getColWidths();
var dY=0,ea=0;

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

if(this.getColumnFlex(i)>0){dY+=eb.minWidth;
}else{dY+=eb.width;
}ea+=eb.width;
}var ec=this._getRowHeights();
var dU=0,dX=0;

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

if(this.getRowFlex(i)>0){dU+=ed.minHeight;
}else{dU+=ed.height;
}dX+=ed.height;
}var dT=this.getSpacingX()*(dW.length-1);
var dS=this.getSpacingY()*(ec.length-1);
var dV={minWidth:dY+dT,width:ea+dT,minHeight:dU+dS,height:dX+dS};
return dV;
}},destruct:function(){this.__mb=this.__lY=this.__ma=this.__mc=this.__md=this.__mh=this.__mg=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 n="execute",m="toolTipText",l="icon",k="label",j="qx.ui.core.MExecutable",h="value",g="qx.event.type.Event",f="_applyCommand",d="enabled",c="menu",a="changeCommand",b="qx.ui.core.Command";
qx.Mixin.define(j,{events:{"execute":g},properties:{command:{check:b,apply:f,event:a,nullable:true}},members:{__mk:null,__ml:false,__mm:null,_bindableProperties:[d,k,l,m,h,c],execute:function(){var o=this.getCommand();

if(o){if(this.__ml){this.__ml=false;
}else{this.__ml=true;
o.execute(this);
}}this.fireEvent(n);
},__mn:function(e){if(this.__ml){this.__ml=false;
return;
}this.__ml=true;
this.execute();
},_applyCommand:function(p,q){if(q!=null){q.removeListenerById(this.__mm);
}
if(p!=null){this.__mm=p.addListener(n,this.__mn,this);
}var t=this.__mk;

if(t==null){this.__mk=t={};
}
for(var i=0;i<this._bindableProperties.length;i++){var s=this._bindableProperties[i];
if(q!=null&&t[s]!=null){q.removeBinding(t[s]);
t[s]=null;
}if(p!=null&&qx.Class.hasProperty(this.constructor,s)){var r=p.get(s);

if(r==null){var u=this.get(s);
}t[s]=p.bind(s,this,s);
if(u){this.set(s,u);
}}}}},destruct:function(){this.__mk=null;
}});
})();
(function(){var o="pressed",n="abandoned",m="hovered",l="Enter",k="Space",j="dblclick",i="qx.ui.form.Button",h="mouseup",g="mousedown",f="mouseover",b="mouseout",d="keydown",c="button",a="keyup";
qx.Class.define(i,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],construct:function(p,q,r){qx.ui.basic.Atom.call(this,p,q);

if(r!=null){this.setCommand(r);
}this.addListener(f,this._onMouseOver);
this.addListener(b,this._onMouseOut);
this.addListener(g,this._onMouseDown);
this.addListener(h,this._onMouseUp);
this.addListener(d,this._onKeyDown);
this.addListener(a,this._onKeyUp);
this.addListener(j,this._onStopEvent);
},properties:{appearance:{refine:true,init:c},focusable:{refine:true,init:true}},members:{_forwardStates:{focused:true,hovered:true,pressed:true,disabled:true},press:function(){if(this.hasState(n)){return;
}this.addState(o);
},release:function(){if(this.hasState(o)){this.removeState(o);
}},reset:function(){this.removeState(o);
this.removeState(n);
this.removeState(m);
},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(n)){this.removeState(n);
this.addState(o);
}this.addState(m);
},_onMouseOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.removeState(m);

if(this.hasState(o)){this.removeState(o);
this.addState(n);
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}e.stopPropagation();
this.capture();
this.removeState(n);
this.addState(o);
},_onMouseUp:function(e){this.releaseCapture();
var s=this.hasState(o);
var t=this.hasState(n);

if(s){this.removeState(o);
}
if(t){this.removeState(n);
}else{this.addState(m);

if(s){this.execute();
}}e.stopPropagation();
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case l:case k:this.removeState(n);
this.addState(o);
e.stopPropagation();
}},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case l:case k:if(this.hasState(o)){this.removeState(n);
this.removeState(o);
this.execute();
e.stopPropagation();
}}}}});
})();
(function(){var m="qx.dynlocale",l="Boolean",k="changeLocale",j="changeInvalidMessage",i="on",h="String",g="invalid",f="",d="qx.ui.form.MForm",c="_applyValid",a="changeRequired",b="changeValid";
qx.Mixin.define(d,{construct:function(){if(qx.core.Variant.isSet(m,i)){qx.locale.Manager.getInstance().addListener(k,this.__mo,this);
}},properties:{valid:{check:l,init:true,apply:c,event:b},required:{check:l,init:false,event:a},invalidMessage:{check:h,init:f,event:j},requiredInvalidMessage:{check:h,nullable:true,event:j}},members:{_applyValid:function(n,o){n?this.removeState(g):this.addState(g);
},__mo:qx.core.Variant.select(m,{"on":function(e){var p=this.getInvalidMessage();

if(p&&p.translate){this.setInvalidMessage(p.translate());
}var q=this.getRequiredInvalidMessage();

if(q&&q.translate){this.setRequiredInvalidMessage(q.translate());
}},"off":null})},destruct:function(){if(qx.core.Variant.isSet(m,i)){qx.locale.Manager.getInstance().removeListener(k,this.__mo,this);
}}});
})();
(function(){var k="showingPlaceholder",j="",i="none",h="qx.dynlocale",g="Boolean",f="qx.client",d="color",c="qx.event.type.Data",b="readonly",a="placeholder",bc="input",bb="focusin",ba="visibility",Y="focusout",X="changeLocale",W="hidden",V="on",U="absolute",T="readOnly",S="text",r="_applyTextAlign",s="px",p="RegExp",q=")",n="syncAppearance",o="changeValue",l="A",m="change",v="textAlign",w="focused",E="center",C="visible",K="disabled",G="url(",O="off",M="String",y="resize",R="qx.ui.form.AbstractField",Q="transparent",P="spellcheck",x="false",A="right",B="PositiveInteger",D="mshtml",F="abstract",H="block",L="webkit",N="_applyReadOnly",t="_applyPlaceholder",u="left",z="qx/static/blank.gif",J="text-placeholder",I="changeReadOnly";
qx.Class.define(R,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm,qx.ui.form.IForm],include:[qx.ui.form.MForm],type:F,construct:function(bd){qx.ui.core.Widget.call(this);
this.__mp=!qx.bom.client.Feature.PLACEHOLDER;

if(bd!=null){this.setValue(bd);
}this.getContentElement().addListener(m,this._onChangeContent,this);
if(this.__mp){this.addListener(n,this._syncPlaceholder,this);
}if(qx.core.Variant.isSet(h,V)){qx.locale.Manager.getInstance().addListener(X,this._onChangeLocale,this);
}},events:{"input":c,"changeValue":c},properties:{textAlign:{check:[u,E,A],nullable:true,themeable:true,apply:r},readOnly:{check:g,apply:N,event:I,init:false},selectable:{refine:true,init:true},focusable:{refine:true,init:true},maxLength:{check:B,init:Infinity},liveUpdate:{check:g,init:false},placeholder:{check:M,nullable:true,apply:t},filter:{check:p,nullable:true,init:null}},members:{__mq:true,__mr:null,__ms:null,__mt:null,__mp:true,getFocusElement:function(){var be=this.getContentElement();

if(be){return be;
}},_createInputElement:function(){return new qx.html.Input(S);
},renderLayout:function(bf,top,bg,bh){var bi=this._updateInsets;
var bm=qx.ui.core.Widget.prototype.renderLayout.call(this,bf,top,bg,bh);
if(!bm){return;
}var bk=bm.size||bi;
var bn=s;

if(bk||bm.local||bm.margin){var bj=this.getInsets();
var innerWidth=bg-bj.left-bj.right;
var innerHeight=bh-bj.top-bj.bottom;
innerWidth=innerWidth<0?0:innerWidth;
innerHeight=innerHeight<0?0:innerHeight;
}var bl=this.getContentElement();
if(bi&&this.__mp){this.__mw().setStyles({"left":bj.left+bn,"top":bj.top+bn});
}
if(bk){if(this.__mp){this.__mw().setStyles({"width":innerWidth+bn,"height":innerHeight+bn});
}bl.setStyles({"width":innerWidth+bn,"height":innerHeight+bn});
this._renderContentElement(innerHeight,bl);
}},_renderContentElement:function(innerHeight,bo){},_createContentElement:function(){var bp=this._createInputElement();
bp.setStyles({"border":i,"padding":0,"margin":0,"display":H,"background":Q,"outline":i,"appearance":i,"position":U,"autoComplete":O});
bp.setSelectable(this.getSelectable());
bp.setEnabled(this.getEnabled());
bp.addListener(bc,this._onHtmlInput,this);
bp.setAttribute(P,x);
if(qx.core.Variant.isSet(f,L)){bp.setStyle(y,i);
}if(qx.core.Variant.isSet(f,D)){bp.setStyles({backgroundImage:G+qx.util.ResourceManager.getInstance().toUri(z)+q});
}return bp;
},_applyEnabled:function(bq,br){qx.ui.core.Widget.prototype._applyEnabled.call(this,bq,br);
this.getContentElement().setEnabled(bq);

if(this.__mp){if(bq){this._showPlaceholder();
}else{this._removePlaceholder();
}}else{var bs=this.getContentElement();
bs.setAttribute(a,bq?this.getPlaceholder():j);
}},__mu:{width:16,height:16},_getContentHint:function(){return {width:this.__mu.width*10,height:this.__mu.height||16};
},_applyFont:function(bt,bu){var bv;

if(bt){var bw=qx.theme.manager.Font.getInstance().resolve(bt);
bv=bw.getStyles();
}else{bv=qx.bom.Font.getDefaultStyles();
}this.getContentElement().setStyles(bv);
if(this.__mp){this.__mw().setStyles(bv);
}if(bt){this.__mu=qx.bom.Label.getTextSize(l,bv);
}else{delete this.__mu;
}qx.ui.core.queue.Layout.add(this);
},_applyTextColor:function(bx,by){if(bx){this.getContentElement().setStyle(d,qx.theme.manager.Color.getInstance().resolve(bx));
}else{this.getContentElement().removeStyle(d);
}},tabFocus:function(){qx.ui.core.Widget.prototype.tabFocus.call(this);
this.selectAllText();
},_getTextSize:function(){return this.__mu;
},_onHtmlInput:function(e){var bC=e.getData();
var bB=true;
this.__mq=false;
if(this.getFilter()!=null){var bD=j;
var bz=bC.search(this.getFilter());
var bA=bC;

while(bz>=0){bD=bD+(bA.charAt(bz));
bA=bA.substring(bz+1,bA.length);
bz=bA.search(this.getFilter());
}
if(bD!=bC){bB=false;
bC=bD;
this.getContentElement().setValue(bC);
}}if(bC.length>this.getMaxLength()){var bB=false;
this.getContentElement().setValue(bC.substr(0,this.getMaxLength()));
}if(bB){this.fireDataEvent(bc,bC,this.__mt);
this.__mt=bC;
if(this.getLiveUpdate()){this.__mv(bC);
}}},__mv:function(bE){var bF=this.__ms;
this.__ms=bE;

if(bF!=bE){this.fireNonBubblingEvent(o,qx.event.type.Data,[bE,bF]);
}},setValue:function(bG){if(bG===null){if(this.__mq){return bG;
}bG=j;
this.__mq=true;
}else{this.__mq=false;
if(this.__mp){this._removePlaceholder();
}}
if(qx.lang.Type.isString(bG)){var bI=this.getContentElement();

if(bG.length>this.getMaxLength()){bG=bG.substr(0,this.getMaxLength());
}
if(bI.getValue()!=bG){var bJ=bI.getValue();
bI.setValue(bG);
var bH=this.__mq?null:bG;
this.__ms=bJ;
this.__mv(bH);
}if(this.__mp){this._showPlaceholder();
}return bG;
}throw new Error("Invalid value type: "+bG);
},getValue:function(){var bK=this.getContentElement().getValue();
return this.__mq?null:bK;
},resetValue:function(){this.setValue(null);
},_onChangeContent:function(e){this.__mq=e.getData()===null;
this.__mv(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(bL,bM){this.getContentElement().setTextSelection(bL,bM);
},clearTextSelection:function(){this.getContentElement().clearTextSelection();
},selectAllText:function(){this.setTextSelection(0);
},_showPlaceholder:function(){var bO=this.getValue()||j;
var bN=this.getPlaceholder();

if(bN!=null&&bO==j&&!this.hasState(w)&&!this.hasState(K)){if(this.hasState(k)){this._syncPlaceholder();
}else{this.addState(k);
}}},_removePlaceholder:function(){if(this.hasState(k)){this.__mw().setStyle(ba,W);
this.removeState(k);
}},_syncPlaceholder:function(){if(this.hasState(k)){this.__mw().setStyle(ba,C);
}},__mw:function(){if(this.__mr==null){this.__mr=new qx.html.Label();
var bP=qx.theme.manager.Color.getInstance();
this.__mr.setStyles({"visibility":W,"zIndex":6,"position":U,"color":bP.resolve(J)});
this.getContainerElement().add(this.__mr);
}return this.__mr;
},_onChangeLocale:qx.core.Variant.select(h,{"on":function(e){var content=this.getPlaceholder();

if(content&&content.translate){this.setPlaceholder(content.translate());
}},"off":null}),_applyPlaceholder:function(bQ,bR){if(this.__mp){this.__mw().setValue(bQ);

if(bQ!=null){this.addListener(bb,this._removePlaceholder,this);
this.addListener(Y,this._showPlaceholder,this);
this._showPlaceholder();
}else{this.removeListener(bb,this._removePlaceholder,this);
this.removeListener(Y,this._showPlaceholder,this);
this._removePlaceholder();
}}else{if(this.getEnabled()){this.getContentElement().setAttribute(a,bQ);
}}},_applyTextAlign:function(bS,bT){this.getContentElement().setStyle(v,bS);
},_applyReadOnly:function(bU,bV){var bW=this.getContentElement();
bW.setAttribute(T,bU);

if(bU){this.addState(b);
this.setFocusable(false);
}else{this.removeState(b);
this.setFocusable(true);
}}},destruct:function(){this.__mr=null;

if(qx.core.Variant.isSet(h,V)){qx.locale.Manager.getInstance().removeListener(X,this._onChangeLocale,this);
}}});
})();
(function(){var u="overflowY",t="auto",s="hidden",r="textarea",q="input",p="Boolean",o="appear",n="Integer",m="visible",l="",d='id',k="qx.ui.form.TextArea",h="_applyAutoSize",c="tabIndex",b="_applyWrap",g="-1",f='name',i="_applyMinimalLineHeight",a="mousewheel",j="absolute";
qx.Class.define(k,{extend:qx.ui.form.AbstractField,construct:function(v){qx.ui.form.AbstractField.call(this,v);
this.initWrap();
this.addListener(a,this._onMousewheel,this);
},properties:{wrap:{check:p,init:true,apply:b},appearance:{refine:true,init:r},singleStep:{check:n,init:20},minimalLineHeight:{check:n,apply:i,init:4},autoSize:{check:p,apply:h,init:false}},members:{__mx:null,__my:null,__mz:null,setValue:function(w){w=qx.ui.form.AbstractField.prototype.setValue.call(this,w);
this.__mA();
return w;
},_onMousewheel:function(e){var x=this.getContentElement();
var scrollY=x.getScrollY();
x.scrollToY(scrollY+e.getWheelDelta()*this.getSingleStep());
var y=x.getScrollY();

if(y!=scrollY){e.stop();
}},__mA:function(){if(this.isAutoSize()){var B=this.__mB();

if(B){this.__mz=this.__mz||this._getAreaHeight();
var D=this._getScrolledAreaHeight();
if(this.getMaxHeight()){var z=this.getInsets();
var A=-z.top+this.getMaxHeight()-z.bottom;

if(D>A){this.getContentElement().setStyle(u,t);
}else{this.getContentElement().setStyle(u,s);
}}var C=Math.max(D,this.__mz);
this._setAreaHeight(C);
}else{this.addListenerOnce(o,function(){if(qx.bom.client.Engine.WEBKIT){var F=this.getContentElement();
var E=this.getValue();
F.setStyle(u,s,true);
this.setValue(l);
this.setValue(E);
}this.__mA();
},this);
}}},_getAreaHeight:function(){return this.getInnerSize().height;
},_setAreaHeight:function(G){if(this._getAreaHeight()!==G){this.__my=G;
qx.ui.core.queue.Layout.add(this);
qx.ui.core.queue.Manager.flush();
}},_getScrolledAreaHeight:function(){var I=this.__mB();
var H=I.getDomElement();
var J=this.getValue();
H.style.overflow=s;
I.setValue(J);
I.setWrap(this.getWrap(),true);

if(H){if(!H.parentNode){qx.html.Element.flush();
return this._getScrolledAreaHeight();
}this.__mD(I);
if(qx.bom.client.Engine.MSHTML){return H.scrollTop+this._getTextSize().height;
}return H.scrollTop;
}},__mB:function(){this.__mx=this.__mx||this.__mC();
return this.__mx;
},__mC:function(){var N,L,K,M;
N=this.getContentElement();
if(!N.getDomElement()){return;
}K=qx.bom.Collection.create(N.getDomElement()).clone()[0];
M=new qx.html.Input(r);
M.useElement(K);
L=M;
L.setStyles({position:j,top:0,left:-9999,height:0,overflow:m},true);
L.removeAttribute(d);
L.removeAttribute(f);
L.setAttribute(c,g);
L.setValue(N.getValue());
L.insertBefore(N);
this.__mD(L);
return L;
},__mD:function(O){var O=O.getDomElement();

if(O){O.scrollTop=10000;
}},_createInputElement:function(){return new qx.html.Input(r,{overflowX:t,overflowY:t});
},_applyWrap:function(P,Q){this.getContentElement().setWrap(P);
this.__mA();
},_applyMinimalLineHeight:function(){qx.ui.core.queue.Layout.add(this);
},_applyAutoSize:function(R,S){{};

if(R){this.__mA();
this.addListener(q,this.__mA,this);
this.addListenerOnce(o,function(){this.getContentElement().setStyle(u,s);
});
}else{this.removeListener(q,this.__mA);
this.getContentElement().setStyle(u,t);
}},_applyDimension:function(T){qx.ui.form.AbstractField.prototype._applyDimension.call(this);
{};

if(T===this.getMaxHeight()){this.__mA();
}},__mE:function(){if(this.isAutoSize()&&this.getHeight()){this.warn("autoSize is ignored when the height property is set. "+"If you want to set an initial height, use the minHeight "+"property instead.");
}},_getContentHint:function(){var U=qx.ui.form.AbstractField.prototype._getContentHint.call(this);
U.height=U.height*this.getMinimalLineHeight();
U.width=this._getTextSize().width*20;

if(this.isAutoSize()){U.height=this.__my||U.height;
}return U;
}}});
})();
(function(){var n="wrap",m="value",l="textarea",k="none",j="qx.client",i="",h="overflow",g="input",f="qx.html.Input",e="select",b="disabled",d="read-only",c="overflowX",a="overflowY";
qx.Class.define(f,{extend:qx.html.Element,construct:function(o,p,q){if(o===e||o===l){var r=o;
}else{r=g;
}qx.html.Element.call(this,r,p,q);
this.__mF=o;
},members:{__mF:null,__mG:null,__mH:null,_createDomElement:function(){return qx.bom.Input.create(this.__mF);
},_applyProperty:function(name,s){qx.html.Element.prototype._applyProperty.call(this,name,s);
var t=this.getDomElement();

if(name===m){qx.bom.Input.setValue(t,s);
}else if(name===n){qx.bom.Input.setWrap(t,s);
this.setStyle(h,t.style.overflow,true);
this.setStyle(c,t.style.overflowX,true);
this.setStyle(a,t.style.overflowY,true);
}},setEnabled:qx.core.Variant.select(j,{"webkit":function(u){this.__mH=u;

if(!u){this.setStyles({"userModify":d,"userSelect":k});
}else{this.setStyles({"userModify":null,"userSelect":this.__mG?null:k});
}},"default":function(v){this.setAttribute(b,v===false);
}}),setSelectable:qx.core.Variant.select(j,{"webkit":function(w){this.__mG=w;
qx.html.Element.prototype.setSelectable.call(this,this.__mH&&w);
},"default":function(x){qx.html.Element.prototype.setSelectable.call(this,x);
}}),setValue:function(y){var z=this.getDomElement();

if(z){if(z.value!=y){qx.bom.Input.setValue(z,y);
}}else{this._setProperty(m,y);
}return this;
},getValue:function(){var A=this.getDomElement();

if(A){return qx.bom.Input.getValue(A);
}return this._getProperty(m)||i;
},setWrap:function(B,C){if(this.__mF===l){this._setProperty(n,B,C);
}else{throw new Error("Text wrapping is only support by textareas!");
}return this;
},getWrap:function(){if(this.__mF===l){return this._getProperty(n);
}else{throw new Error("Text wrapping is only support by textareas!");
}}}});
})();
(function(){var w="change",v="input",u="qx.client",t="text",s="password",r="checkbox",q="radio",p="textarea",n="keypress",m="opera",d="propertychange",k="blur",h="keydown",c="keyup",b="select-multiple",g="checked",f="value",j="select",a="qx.event.handler.Input";
qx.Class.define(a,{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(u,m)){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:{__mI:false,__mJ:null,__mK:null,canHandleEvent:function(x,y){var z=x.tagName.toLowerCase();

if(y===v&&(z===v||z===p)){return true;
}
if(y===w&&(z===v||z===p||z===j)){return true;
}return false;
},registerEvent:qx.core.Variant.select(u,{"mshtml":function(A,B,C){if(!A.__mL){var D=A.tagName.toLowerCase();
var E=A.type;

if(E===t||E===s||D===p||E===r||E===q){qx.bom.Event.addNativeListener(A,d,this._onPropertyWrapper);
}
if(E!==r&&E!==q){qx.bom.Event.addNativeListener(A,w,this._onChangeValueWrapper);
}
if(E===t||E===s){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,A);
qx.bom.Event.addNativeListener(A,n,this._onKeyPressWrapped);
}A.__mL=true;
}},"default":function(F,G,H){if(G===v){this.__mM(F);
}else if(G===w){if(F.type===q||F.type===r){qx.bom.Event.addNativeListener(F,w,this._onChangeCheckedWrapper);
}else{qx.bom.Event.addNativeListener(F,w,this._onChangeValueWrapper);
}if(qx.core.Variant.isSet(u,m)){if(F.type===t||F.type===s){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,F);
qx.bom.Event.addNativeListener(F,n,this._onKeyPressWrapped);
}}}}}),__mM:qx.core.Variant.select(u,{"mshtml":null,"webkit":function(I){var J=I.tagName.toLowerCase();
if(qx.bom.client.Engine.VERSION<532&&J==p){qx.bom.Event.addNativeListener(I,n,this._onInputWrapper);
}qx.bom.Event.addNativeListener(I,v,this._onInputWrapper);
},"opera":function(K){qx.bom.Event.addNativeListener(K,c,this._onKeyUpWrapper);
qx.bom.Event.addNativeListener(K,h,this._onKeyDownWrapper);
qx.bom.Event.addNativeListener(K,k,this._onBlurWrapper);
qx.bom.Event.addNativeListener(K,v,this._onInputWrapper);
},"default":function(L){qx.bom.Event.addNativeListener(L,v,this._onInputWrapper);
}}),unregisterEvent:qx.core.Variant.select(u,{"mshtml":function(M,N){if(M.__mL){var O=M.tagName.toLowerCase();
var P=M.type;

if(P===t||P===s||O===p||P===r||P===q){qx.bom.Event.removeNativeListener(M,d,this._onPropertyWrapper);
}
if(P!==r&&P!==q){qx.bom.Event.removeNativeListener(M,w,this._onChangeValueWrapper);
}
if(P===t||P===s){qx.bom.Event.removeNativeListener(M,n,this._onKeyPressWrapped);
}
try{delete M.__mL;
}catch(Q){M.__mL=null;
}}},"default":function(R,S){if(S===v){this.__mM(R);
}else if(S===w){if(R.type===q||R.type===r){qx.bom.Event.removeNativeListener(R,w,this._onChangeCheckedWrapper);
}else{qx.bom.Event.removeNativeListener(R,w,this._onChangeValueWrapper);
}}
if(qx.core.Variant.isSet(u,m)){if(R.type===t||R.type===s){qx.bom.Event.removeNativeListener(R,n,this._onKeyPressWrapped);
}}}}),__mN:qx.core.Variant.select(u,{"mshtml":null,"webkit":function(T){var U=T.tagName.toLowerCase();
if(qx.bom.client.Engine.VERSION<532&&U==p){qx.bom.Event.removeNativeListener(T,n,this._onInputWrapper);
}qx.bom.Event.removeNativeListener(T,v,this._onInputWrapper);
},"opera":function(V){qx.bom.Event.removeNativeListener(V,c,this._onKeyUpWrapper);
qx.bom.Event.removeNativeListener(V,h,this._onKeyDownWrapper);
qx.bom.Event.removeNativeListener(V,k,this._onBlurWrapper);
qx.bom.Event.removeNativeListener(V,v,this._onInputWrapper);
},"default":function(W){qx.bom.Event.removeNativeListener(W,v,this._onInputWrapper);
}}),_onKeyPress:qx.core.Variant.select(u,{"mshtml|opera":function(e,X){if(e.keyCode===13){if(X.value!==this.__mK){this.__mK=X.value;
qx.event.Registration.fireEvent(X,w,qx.event.type.Data,[X.value]);
}}},"default":null}),_onKeyDown:qx.core.Variant.select(u,{"opera":function(e){if(e.keyCode===13){this.__mI=true;
}},"default":null}),_onKeyUp:qx.core.Variant.select(u,{"opera":function(e){if(e.keyCode===13){this.__mI=false;
}},"default":null}),_onBlur:qx.core.Variant.select(u,{"opera":function(e){if(this.__mJ&&qx.bom.client.Browser.VERSION<10.6){window.clearTimeout(this.__mJ);
}},"default":null}),_onInput:qx.event.GlobalError.observeMethod(function(e){var ba=qx.bom.Event.getTarget(e);
var Y=ba.tagName.toLowerCase();
if(!this.__mI||Y!==v){if(qx.core.Variant.isSet(u,m)&&qx.bom.client.Browser.VERSION<10.6){this.__mJ=window.setTimeout(function(){qx.event.Registration.fireEvent(ba,v,qx.event.type.Data,[ba.value]);
},0);
}else{qx.event.Registration.fireEvent(ba,v,qx.event.type.Data,[ba.value]);
}}}),_onChangeValue:qx.event.GlobalError.observeMethod(function(e){var bc=qx.bom.Event.getTarget(e);
var bb=bc.value;

if(bc.type===b){var bb=[];

for(var i=0,o=bc.options,l=o.length;i<l;i++){if(o[i].selected){bb.push(o[i].value);
}}}qx.event.Registration.fireEvent(bc,w,qx.event.type.Data,[bb]);
}),_onChangeChecked:qx.event.GlobalError.observeMethod(function(e){var bd=qx.bom.Event.getTarget(e);

if(bd.type===q){if(bd.checked){qx.event.Registration.fireEvent(bd,w,qx.event.type.Data,[bd.value]);
}}else{qx.event.Registration.fireEvent(bd,w,qx.event.type.Data,[bd.checked]);
}}),_onProperty:qx.core.Variant.select(u,{"mshtml":qx.event.GlobalError.observeMethod(function(e){var be=qx.bom.Event.getTarget(e);
var bf=e.propertyName;

if(bf===f&&(be.type===t||be.type===s||be.tagName.toLowerCase()===p)){if(!be.$$inValueSet){qx.event.Registration.fireEvent(be,v,qx.event.type.Data,[be.value]);
}}else if(bf===g){if(be.type===r){qx.event.Registration.fireEvent(be,w,qx.event.type.Data,[be.checked]);
}else if(be.checked){qx.event.Registration.fireEvent(be,w,qx.event.type.Data,[be.value]);
}}}),"default":function(){}})},defer:function(bg){qx.event.Registration.addHandler(bg);
}});
})();
(function(){var v="",u="select",t="soft",s="off",r="qx.client",q="textarea",p="auto",o="wrap",n="text",m="mshtml",d="number",k="checkbox",g="select-one",c="input",b="option",f="value",e="radio",h="qx.bom.Input",a="nowrap",j="normal";
qx.Class.define(h,{statics:{__mO:{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(w,x,y){{};
var x=x?qx.lang.Object.clone(x):{};
var z;

if(w===q||w===u){z=w;
}else{z=c;
x.type=w;
}return qx.bom.Element.create(z,x,y);
},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===d){B+=v;
}
if((D===k||D===e)){if(H.isArray(B)){A.checked=Array.contains(B,A.value);
}else{A.checked=A.value==B;
}}else if(G===u){var C=H.isArray(B);
var I=A.options;
var E,F;

for(var i=0,l=I.length;i<l;i++){E=I[i];
F=E.getAttribute(f);

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===n||D===q)&&qx.core.Variant.isSet(r,m)){A.$$inValueSet=true;
A.value=B;
A.$$inValueSet=null;
}else{A.value=B;
}},getValue:function(J){var P=J.nodeName.toLowerCase();

if(P===b){return (J.attributes.value||{}).specified?J.value:J.text;
}
if(P===u){var K=J.selectedIndex;
if(K<0){return null;
}var Q=[];
var S=J.options;
var R=J.type==g;
var O=qx.bom.Input;
var N;
for(var i=R?K:0,M=R?K+1:S.length;i<M;i++){var L=S[i];

if(L.selected){N=O.getValue(L);
if(R){return N;
}Q.push(N);
}}return Q;
}else{return (J.value||v).replace(/\r/g,v);
}},setWrap:qx.core.Variant.select(r,{"mshtml":function(T,U){var W=U?t:s;
var V=U?p:v;
T.wrap=W;
T.style.overflowY=V;
},"gecko|webkit":function(X,Y){var bb=Y?t:s;
var ba=Y?v:p;
X.setAttribute(o,bb);
X.style.overflow=ba;
},"default":function(bc,bd){bc.style.whiteSpace=bd?j:a;
}})}});
})();
(function(){var m="default",k="native",j="",h=" ",g="\\b",f="(\\s|$)",e="(^|\\s)",d="g",c="qx.bom.element.Class",b="$2",a="\\b|\\b";
qx.Class.define(c,{statics:{__mP:/\s+/g,__mQ:/^\s+|\s+$/g,add:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(n,name){n.classList.add(name);
return name;
},"default":function(o,name){if(!this.has(o,name)){o.className+=(o.className?h:j)+name;
}return name;
}}),addClasses:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(p,q){for(var i=0;i<q.length;i++){p.classList.add(q[i]);
}return p.className;
},"default":function(r,s){var t={};
var v;
var u=r.className;

if(u){v=u.split(this.__mP);

for(var i=0,l=v.length;i<l;i++){t[v[i]]=true;
}
for(var i=0,l=s.length;i<l;i++){if(!t[s[i]]){v.push(s[i]);
}}}else{v=s;
}return r.className=v.join(h);
}}),get:function(w){return w.className;
},has:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(x,name){return x.classList.contains(name);
},"default":function(y,name){var z=new RegExp(e+name+f);
return z.test(y.className);
}}),remove:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(A,name){A.classList.remove(name);
return name;
},"default":function(B,name){var C=new RegExp(e+name+f);
B.className=B.className.replace(C,b);
return name;
}}),removeClasses:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(D,E){for(var i=0;i<E.length;i++){D.classList.remove(E[i]);
}return D.className;
},"default":function(F,G){var H=new RegExp(g+G.join(a)+g,d);
return F.className=F.className.replace(H,j).replace(this.__mQ,j).replace(this.__mP,h);
}}),replace:function(I,J,K){this.remove(I,J);
return this.add(I,K);
},toggle:qx.lang.Object.select(qx.bom.client.Feature.HTML5_CLASSLIST?k:m,{"native":function(L,name,M){if(M===undefined){L.classList.toggle(name);
}else{M?this.add(L,name):this.remove(L,name);
}return name;
},"default":function(N,name,O){if(O==null){O=!this.has(N,name);
}O?this.add(N,name):this.remove(N,name);
return name;
}})}});
})();
(function(){var f="mshtml",e="pop.push.reverse.shift.sort.splice.unshift.join.slice",d="number",c="qx.type.BaseArray",b="qx.client",a=".";
qx.Class.define(c,{extend:Array,construct:function(g){},members:{toArray:null,valueOf:null,pop:null,push:null,reverse:null,shift:null,sort:null,splice:null,unshift:null,concat:null,join:null,slice:null,toString:null,indexOf:null,lastIndexOf:null,forEach:null,filter:null,map:null,some:null,every:null}});
(function(){function k(l){if(qx.core.Variant.isSet(b,f)){j.prototype={length:0,$$isArray:true};
var o=e.split(a);

for(var length=o.length;length;){j.prototype[o[--length]]=Array.prototype[o[length]];
}}var p=Array.prototype.slice;
j.prototype.concat=function(){var r=this.slice(0);

for(var i=0,length=arguments.length;i<length;i++){var q;

if(arguments[i] instanceof j){q=p.call(arguments[i],0);
}else if(arguments[i] instanceof Array){q=arguments[i];
}else{q=[arguments[i]];
}r.push.apply(r,q);
}return r;
};
j.prototype.toString=function(){return p.call(this,0).toString();
};
j.prototype.toLocaleString=function(){return p.call(this,0).toLocaleString();
};
j.prototype.constructor=j;
j.prototype.indexOf=qx.lang.Core.arrayIndexOf;
j.prototype.lastIndexOf=qx.lang.Core.arrayLastIndexOf;
j.prototype.forEach=qx.lang.Core.arrayForEach;
j.prototype.some=qx.lang.Core.arraySome;
j.prototype.every=qx.lang.Core.arrayEvery;
var m=qx.lang.Core.arrayFilter;
var n=qx.lang.Core.arrayMap;
j.prototype.filter=function(){var s=new this.constructor;
s.push.apply(s,m.apply(this,arguments));
return s;
};
j.prototype.map=function(){var t=new this.constructor;
t.push.apply(t,n.apply(this,arguments));
return t;
};
j.prototype.slice=function(){var u=new this.constructor;
u.push.apply(u,Array.prototype.slice.apply(this,arguments));
return u;
};
j.prototype.splice=function(){var v=new this.constructor;
v.push.apply(v,Array.prototype.splice.apply(this,arguments));
return v;
};
j.prototype.toArray=function(){return Array.prototype.slice.call(this,0);
};
j.prototype.valueOf=function(){return this.length;
};
return j;
}function j(length){if(arguments.length===1&&typeof length===d){this.length=-1<length&&length===length>>.5?length:this.push(length);
}else if(arguments.length){this.push.apply(this,arguments);
}}function h(){}h.prototype=[];
j.prototype=new h;
j.prototype.length=0;
qx.type.BaseArray=k(j);
})();
})();
(function(){var m="get",k="set",h="reset",g=":not(",f="getValue",e="append",d=")",c="getPreviousSiblings",b="getOffsetParent",a="qx.bom.Collection",K="setValue",J="prepend",I="string",H="getAncestors",G="#",F="remove",E=">*",D="add",C="*",B="",t="addListener",u="has",r="toggle",s="getSiblings",p="replace",q="after",n="replaceWith",o="setCss",v="setStyles",w="before",y="getNextSiblings",x="getPosition",A="getCss",z="removeListener";
(function(){var M=function(N,O){return function(P,Q,R,S,T,U){var length=this.length;

if(length>0){var V=N[O];

for(var i=0;i<length;i++){if(this[i].nodeType===1){V.call(N,this[i],P,Q,R,S,T,U);
}}}return this;
};
};
var L=function(W,X){return function(Y,ba,bb,bc,bd,be){if(this.length>0){var bf=this[0].nodeType===1?W[X](this[0],Y,ba,bb,bc,bd,be):null;

if(bf&&bf.nodeType){return this.__mV([bf]);
}else{return bf;
}}return null;
};
};
qx.Class.define(a,{extend:qx.type.BaseArray,statics:{query:function(bg,bh){var bi=qx.bom.Selector.query(bg,bh);
return qx.lang.Array.cast(bi,qx.bom.Collection);
},id:function(bj){var bk=document.getElementById(bj);
if(bk&&bk.id!=bj){return qx.bom.Collection.query(G+bj);
}if(bk){return new qx.bom.Collection(bk);
}else{return new qx.bom.Collection();
}},html:function(bl,bm){var bn=qx.bom.Html.clean([bl],bm);
return qx.lang.Array.cast(bn,qx.bom.Collection);
},__mR:/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,create:function(bo,bp){var br=qx.bom.Collection;
if(bo.nodeType){return new br(bo);
}else if(typeof bo===I){var bq=br.__mR.exec(bo);

if(bq){return bq[1]?br.html(bq[1],bp):br.id(bq[3].substring(1));
}else{return br.query(bo,bp);
}}else{return qx.lang.Array.cast(bo,qx.bom.Collection);
}}},members:{__mS:null,setAttribute:M(qx.bom.element.Attribute,k),resetAttribute:M(qx.bom.element.Attribute,h),getAttribute:L(qx.bom.element.Attribute,m),addClass:M(qx.bom.element.Class,D),getClass:L(qx.bom.element.Class,m),hasClass:L(qx.bom.element.Class,u),removeClass:M(qx.bom.element.Class,F),replaceClass:M(qx.bom.element.Class,p),toggleClass:M(qx.bom.element.Class,r),setValue:M(qx.bom.Input,K),getValue:L(qx.bom.Input,f),setStyle:M(qx.bom.element.Style,k),setStyles:M(qx.bom.element.Style,v),resetStyle:M(qx.bom.element.Style,h),getStyle:L(qx.bom.element.Style,m),setCss:M(qx.bom.element.Style,o),getCss:M(qx.bom.element.Style,A),getOffset:L(qx.bom.element.Location,m),getPosition:L(qx.bom.element.Location,x),getOffsetParent:L(qx.bom.element.Location,b),setScrollLeft:function(bs){var Node=qx.dom.Node;

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

if(Node.isElement(bt)){bt.scrollLeft=bs;
}else if(Node.isWindow(bt)){bt.scrollTo(bs,this.getScrollTop(bt));
}else if(Node.isDocument(bt)){Node.getWindow(bt).scrollTo(bs,this.getScrollTop(bt));
}}return this;
},setScrollTop:function(bu){var Node=qx.dom.Node;

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

if(Node.isElement(bv)){bv.scrollTop=bu;
}else if(Node.isWindow(bv)){bv.scrollTo(this.getScrollLeft(bv),bu);
}else if(Node.isDocument(bv)){Node.getWindow(bv).scrollTo(this.getScrollLeft(bv),bu);
}}return this;
},getScrollLeft:function(){var bw=this[0];

if(!bw){return null;
}var Node=qx.dom.Node;

if(Node.isWindow(bw)||Node.isDocument(bw)){return qx.bom.Viewport.getScrollLeft();
}return bw.scrollLeft;
},getScrollTop:function(){var bx=this[0];

if(!bx){return null;
}var Node=qx.dom.Node;

if(Node.isWindow(bx)||Node.isDocument(bx)){return qx.bom.Viewport.getScrollTop();
}return bx.scrollTop;
},getWidth:function(){var by=this[0];
var Node=qx.dom.Node;

if(by){if(Node.isElement(by)){return qx.bom.element.Dimension.getWidth(by);
}else if(Node.isDocument(by)){return qx.bom.Document.getWidth(Node.getWindow(by));
}else if(Node.isWindow(by)){return qx.bom.Viewport.getWidth(by);
}}return null;
},getContentWidth:function(){var bz=this[0];

if(qx.dom.Node.isElement(bz)){return qx.bom.element.Dimension.getContentWidth(bz);
}return null;
},getHeight:function(){var bA=this[0];
var Node=qx.dom.Node;

if(bA){if(Node.isElement(bA)){return qx.bom.element.Dimension.getHeight(bA);
}else if(Node.isDocument(bA)){return qx.bom.Document.getHeight(Node.getWindow(bA));
}else if(Node.isWindow(bA)){return qx.bom.Viewport.getHeight(bA);
}}return null;
},getContentHeight:function(){var bB=this[0];

if(qx.dom.Node.isElement(bB)){return qx.bom.element.Dimension.getContentHeight(bB);
}return null;
},addListener:M(qx.bom.Element,t),removeListener:M(qx.bom.Element,z),eq:function(bC){return this.slice(bC,+bC+1);
},filter:function(bD,bE){var bF;

if(qx.lang.Type.isFunction(bD)){bF=qx.type.BaseArray.prototype.filter.call(this,bD,bE);
}else{bF=qx.bom.Selector.matches(bD,this);
}return this.__mV(bF);
},is:function(bG){return !!bG&&qx.bom.Selector.matches(bG,this).length>0;
},__mT:/^.[^:#\[\.,]*$/,not:function(bH){if(this.__mT.test(bH)){var bI=qx.bom.Selector.matches(g+bH+d,this);
return this.__mV(bI);
}var bI=qx.bom.Selector.matches(bH,this);
return this.filter(function(bJ){return bI.indexOf(bJ)===-1;
});
},add:function(bK,bL){var bM=qx.bom.Selector.query(bK,bL);
var bN=qx.lang.Array.unique(this.concat(bM));
return this.__mV(bN);
},children:function(bO){var bP=[];

for(var i=0,l=this.length;i<l;i++){bP.push.apply(bP,qx.dom.Hierarchy.getChildElements(this[i]));
}
if(bO){bP=qx.bom.Selector.matches(bO,bP);
}return this.__mV(bP);
},closest:function(bQ){var bR=new qx.bom.Collection(1);
var bT=qx.bom.Selector;
var bS=this.map(function(bU){while(bU&&bU.ownerDocument){bR[0]=bU;

if(bT.matches(bQ,bR).length>0){return bU;
}bU=bU.parentNode;
}});
return this.__mV(qx.lang.Array.unique(bS));
},contents:function(){var bW=[];
var bV=qx.lang.Array;

for(var i=0,l=this.length;i<l;i++){bW.push.apply(bW,bV.fromCollection(this[i].childNodes));
}return this.__mV(bW);
},find:function(bX){var ca=qx.bom.Selector;
if(this.length===1){return this.__mV(ca.query(bX,this[0]));
}else{var bY=[];

for(var i=0,l=this.length;i<l;i++){bY.push.apply(bY,ca.query(bX,this[i]));
}return this.__mV(qx.lang.Array.unique(bY));
}},next:function(cb){var cc=qx.dom.Hierarchy;
var cd=this.map(cc.getNextElementSibling,cc);
if(cb){cd=qx.bom.Selector.matches(cb,cd);
}return this.__mV(cd);
},nextAll:function(ce){return this.__mU(y,ce);
},prev:function(cf){var cg=qx.dom.Hierarchy;
var ch=this.map(cg.getPreviousElementSibling,cg);
if(cf){ch=qx.bom.Selector.matches(cf,ch);
}return this.__mV(ch);
},prevAll:function(ci){return this.__mU(c,ci);
},parent:function(cj){var Element=qx.dom.Element;
var ck=qx.lang.Array.unique(this.map(Element.getParentElement,Element));
if(cj){ck=qx.bom.Selector.matches(cj,ck);
}return this.__mV(ck);
},parents:function(cl){return this.__mU(H,cl);
},siblings:function(cm){return this.__mU(s,cm);
},__mU:function(cn,co){var cq=[];
var cp=qx.dom.Hierarchy;

for(var i=0,l=this.length;i<l;i++){cq.push.apply(cq,cp[cn](this[i]));
}var cr=qx.lang.Array.unique(cq);
if(co){cr=qx.bom.Selector.matches(co,cr);
}return this.__mV(cr);
},__mV:function(cs){var ct=new qx.bom.Collection;
ct.__mS=this;
cs=Array.prototype.slice.call(cs,0);
ct.push.apply(ct,cs);
return ct;
},andSelf:function(){return this.add(this.__mS);
},end:function(){return this.__mS||new qx.bom.Collection();
},__mW:function(cu,cv){var cA=this[0];
var cz=cA.ownerDocument||cA;
var cy=cz.createDocumentFragment();
var cC=qx.bom.Html.clean(cu,cz,cy);
var cE=cy.firstChild;
if(cE){var cw=this.length-1;

for(var i=0,l=cw;i<l;i++){cv.call(this,this[i],cy.cloneNode(true));
}cv.call(this,this[cw],cy);
}if(cC){var cx;
var cD=qx.io.ScriptLoader;
var cB=qx.lang.Function;

for(var i=0,l=cC.length;i<l;i++){cx=cC[i];
if(cx.src){cD.get().load(cx.src);
}else{cB.globalEval(cx.text||cx.textContent||cx.innerHTML||B);
}if(cx.parentNode){cx.parentNode.removeChild(cx);
}}}return this;
},__mX:function(cF,cG){var cI=qx.bom.Selector;
var cH=qx.lang.Array;
var cK=[];

for(var i=0,l=cF.length;i<l;i++){{};
cK.push.apply(cK,cI.query(cF[i]));
}cK=cH.cast(cH.unique(cK),qx.bom.Collection);
for(var i=0,cJ=this.length;i<cJ;i++){cK[cG](this[i]);
}return this;
},append:function(cL){return this.__mW(arguments,this.__mY);
},prepend:function(cM){return this.__mW(arguments,this.__na);
},__mY:function(cN,cO){cN.appendChild(cO);
},__na:function(cP,cQ){cP.insertBefore(cQ,cP.firstChild);
},appendTo:function(cR){return this.__mX(arguments,e);
},prependTo:function(cS){return this.__mX(arguments,J);
},before:function(cT){return this.__mW(arguments,this.__nb);
},after:function(cU){return this.__mW(arguments,this.__nc);
},__nb:function(cV,cW){cV.parentNode.insertBefore(cW,cV);
},__nc:function(cX,cY){cX.parentNode.insertBefore(cY,cX.nextSibling);
},insertBefore:function(da){return this.__mX(arguments,w);
},insertAfter:function(db){return this.__mX(arguments,q);
},wrapAll:function(content){var dd=this[0];

if(dd){var dc=qx.bom.Collection.create(content,dd.ownerDocument).clone();
if(dd.parentNode){dd.parentNode.insertBefore(dc[0],dd);
}dc.map(this.__nd).append(this);
}return this;
},__nd:function(de){while(de.firstChild){de=de.firstChild;
}return de;
},wrapInner:function(content){var df=new qx.bom.Collection(1);

for(var i=0,l=this.length;i<l;i++){df[0]=this[i];
df.contents().wrapAll(content);
}return this;
},wrap:function(content){var dg=new qx.bom.Collection(1);
for(var i=0,l=this.length;i<l;i++){dg[0]=this[i];
dg.wrapAll(content);
}return this;
},replaceWith:function(content){return this.after(content).remove();
},replaceAll:function(dh){return this.__mX(arguments,n);
},remove:function(di){var dk=this;

if(di){dk=this.filter(di);

if(dk.length==0){return this;
}}for(var i=0,dl=dk.length,dj;i<dl;i++){dj=dk[i];

if(dj.parentNode){dj.parentNode.removeChild(dj);
}}return dk;
},destroy:function(dm){if(this.length==0){return this;
}var dp=qx.bom.Selector;
var ds=this;

if(dm){ds=this.filter(dm);

if(ds.length==0){return this;
}}var dr=qx.event.Registration.getManager(this[0]);

for(var i=0,l=ds.length,dq,dt;i<l;i++){dq=ds[i];
dr.removeAllListeners(dq);
dt=dp.query(C,dq);

for(var j=0,dn=dt.length;j<dn;j++){dr.removeAllListeners(dt[j]);
}if(dq.parentNode){dq.parentNode.removeChild(dq);
}}if(dm){ds.end();
qx.lang.Array.exclude(this,ds);
}else{this.length=0;
}return this;
},empty:function(){var du=qx.bom.Collection;

for(var i=0,l=this.length;i<l;i++){du.query(E,this[i]).destroy();
while(this.firstChild){this.removeChild(this.firstChild);
}}return this;
},clone:function(dv){var Element=qx.bom.Element;
return dv?
this.map(function(dw){return Element.clone(dw,true);
}):this.map(Element.clone,Element);
}},defer:function(dx){if(window.$==null){window.$=dx.create;
}}});
})();
})();
(function(){var m="qx.client",k="string",h="script",g="<table>",f="<fieldset>",e="<select multiple='multiple'>",d="</div>",c="</select>",b="</tr></tbody></table>",a="<col",J="div",I="<table><tbody><tr>",H=">",G="<table><tbody></tbody><colgroup>",F="<th",E="</tbody></table>",D="<td",C="</colgroup></table>",B="<opt",A="text/javascript",t="",u="</fieldset>",r="<table><tbody>",s="div<div>",p="<table",q="mshtml",n="qx.bom.Html",o="<leg",v="tbody",w="<tr",y="</table>",x="undefined",z="></";
qx.Class.define(n,{statics:{__ne:function(K,L,M){return M.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?K:L+z+M+H;
},__nf:{opt:[1,e,c],leg:[1,f,u],table:[1,g,y],tr:[2,r,E],td:[3,I,b],col:[2,G,C],def:qx.core.Variant.select(m,{"mshtml":[1,s,d],"default":null})},__ng:function(N,O){var U=O.createElement(J);
N=N.replace(/(<(\w+)[^>]*?)\/>/g,this.__ne);
var Q=N.replace(/^\s+/,t).substring(0,5).toLowerCase();
var T,P=this.__nf;

if(!Q.indexOf(B)){T=P.opt;
}else if(!Q.indexOf(o)){T=P.leg;
}else if(Q.match(/^<(thead|tbody|tfoot|colg|cap)/)){T=P.table;
}else if(!Q.indexOf(w)){T=P.tr;
}else if(!Q.indexOf(D)||!Q.indexOf(F)){T=P.td;
}else if(!Q.indexOf(a)){T=P.col;
}else{T=P.def;
}if(T){U.innerHTML=T[1]+N+T[2];
var S=T[0];

while(S--){U=U.lastChild;
}}else{U.innerHTML=N;
}if(qx.core.Variant.isSet(m,q)){var V=/<tbody/i.test(N);
var R=!Q.indexOf(p)&&!V?U.firstChild&&U.firstChild.childNodes:T[1]==g&&!V?U.childNodes:[];

for(var j=R.length-1;j>=0;--j){if(R[j].tagName.toLowerCase()===v&&!R[j].childNodes.length){R[j].parentNode.removeChild(R[j]);
}}if(/^\s/.test(N)){U.insertBefore(O.createTextNode(N.match(/^\s*/)[0]),U.firstChild);
}}return qx.lang.Array.fromCollection(U.childNodes);
},clean:function(W,X,Y){X=X||document;
if(typeof X.createElement===x){X=X.ownerDocument||X[0]&&X[0].ownerDocument||document;
}if(!Y&&W.length===1&&typeof W[0]===k){var bg=/^<(\w+)\s*\/?>$/.exec(W[0]);

if(bg){return [X.createElement(bg[1])];
}}var ba,bc=[];

for(var i=0,l=W.length;i<l;i++){ba=W[i];
if(typeof ba===k){ba=this.__ng(ba,X);
}if(ba.nodeType){bc.push(ba);
}else if(ba instanceof qx.type.BaseArray){bc.push.apply(bc,Array.prototype.slice.call(ba,0));
}else if(ba.toElement){bc.push(ba.toElement());
}else{bc.push.apply(bc,ba);
}}if(Y){var bf=[],be=qx.lang.Array,bd,bb;

for(var i=0;bc[i];i++){bd=bc[i];

if(bd.nodeType==1&&bd.tagName.toLowerCase()===h&&(!bd.type||bd.type.toLowerCase()===A)){if(bd.parentNode){bd.parentNode.removeChild(bc[i]);
}bf.push(bd);
}else{if(bd.nodeType===1){bb=be.fromCollection(bd.getElementsByTagName(h));
bc.splice.apply(bc,[i+1,0].concat(bb));
}Y.appendChild(bd);
}}return bf;
}return bc;
}}});
})();
(function(){var a="qx.dom.Element";
qx.Class.define(a,{statics:{hasChild:function(parent,b){return b.parentNode===parent;
},hasChildren:function(c){return !!c.firstChild;
},hasChildElements:function(d){d=d.firstChild;

while(d){if(d.nodeType===1){return true;
}d=d.nextSibling;
}return false;
},getParentElement:function(e){return e.parentNode;
},isInDom:function(f,g){if(!g){g=window;
}var h=g.document.getElementsByTagName(f.nodeName);

for(var i=0,l=h.length;i<l;i++){if(h[i]===f){return true;
}}return false;
},insertAt:function(j,parent,k){var m=parent.childNodes[k];

if(m){parent.insertBefore(j,m);
}else{parent.appendChild(j);
}return true;
},insertBegin:function(n,parent){if(parent.firstChild){this.insertBefore(n,parent.firstChild);
}else{parent.appendChild(n);
}},insertEnd:function(o,parent){parent.appendChild(o);
},insertBefore:function(p,q){q.parentNode.insertBefore(p,q);
return true;
},insertAfter:function(r,s){var parent=s.parentNode;

if(s==parent.lastChild){parent.appendChild(r);
}else{return this.insertBefore(r,s.nextSibling);
}return true;
},remove:function(t){if(!t.parentNode){return false;
}t.parentNode.removeChild(t);
return true;
},removeChild:function(u,parent){if(u.parentNode!==parent){return false;
}parent.removeChild(u);
return true;
},removeChildAt:function(v,parent){var w=parent.childNodes[v];

if(!w){return false;
}parent.removeChild(w);
return true;
},replaceChild:function(x,y){if(!y.parentNode){return false;
}y.parentNode.replaceChild(x,y);
return true;
},replaceAt:function(z,A,parent){var B=parent.childNodes[A];

if(!B){return false;
}parent.replaceChild(z,B);
return true;
}}});
})();
(function(){var o="success",n="complete",m="error",l="load",k="fail",j="qx.client",i="loaded",h="readystatechange",g="head",f="qx.io.ScriptLoader",b="mshtml|webkit",d="script",c="text/javascript",a="abort";
qx.Bootstrap.define(f,{construct:function(){this.__nh=qx.Bootstrap.bind(this.__nn,this);
this.__ni=document.createElement(d);
},members:{__nj:null,__nk:null,__nl:null,__nm:null,__nh:null,__ni:null,load:function(p,q,r){if(this.__nj){throw new Error("Another request is still running!");
}this.__nj=true;
this.__nk=false;
var s=document.getElementsByTagName(g)[0];
var t=this.__ni;
this.__nl=q||null;
this.__nm=r||window;
t.type=c;
t.onerror=t.onload=t.onreadystatechange=this.__nh;
t.src=p;
setTimeout(function(){s.appendChild(t);
},0);
},abort:function(){if(this.__nj){this.dispose(a);
}},dispose:function(status){if(this.__nk){return;
}this.__nk=true;
var v=this.__ni;
v.onerror=v.onload=v.onreadystatechange=null;
var u=v.parentNode;

if(u){u.removeChild(v);
}delete this.__nj;
if(this.__nl){if(qx.core.Variant.isSet(j,b)){var self=this;
setTimeout(qx.event.GlobalError.observeMethod(function(){self.__nl.call(self.__nm,status);
delete self.__nl;
}),0);
}else{this.__nl.call(this.__nm,status);
delete this.__nl;
}}},__nn:qx.event.GlobalError.observeMethod(qx.core.Variant.select(j,{"mshtml":function(e){var w=this.__ni.readyState;

if(w==i){this.dispose(o);
}else if(w==n){this.dispose(o);
}else{return;
}},"opera":function(e){if(qx.Bootstrap.isString(e)||e.type===m){return this.dispose(k);
}else if(e.type===l){return this.dispose(o);
}else{return;
}},"default":function(e){if(qx.Bootstrap.isString(e)||e.type===m){this.dispose(k);
}else if(e.type===l){this.dispose(o);
}else if(e.type===h&&(e.target.readyState===n||e.target.readyState===i)){this.dispose(o);
}else{return;
}}}))}});
})();
(function(){var h="taskTableDef",g="execute",f="track.tasks.TaskFilter",d="Dump this.dataArr",c="Dump this.currTaskTableDef.getTypeArr",b="changeSelection",a="TaskFilter";
qx.Class.define(f,{extend:qx.ui.container.Composite,construct:function(j){qx.ui.container.Composite.call(this);
this.taskWindow=j;
this.layout=new qx.ui.layout.Grid(2);
this.setLayout(this.layout);
this.create();
this.taskTable=null;
this.dataArr=[[]];
this.currTaskTableDef=null;
},members:{create:function(){var k=0;
this.add(new qx.ui.basic.Label(a),{row:k++,column:0});
var m=new qx.ui.form.Button(c);
this.add(m,{row:k++,column:0});
m.addListener(g,function(){dump(this.currTaskTableDef);
},this);
var l=new qx.ui.form.Button(d);
this.add(l,{row:k++,column:0});
l.addListener(g,function(){dump(this.dataArr);
},this);
this.list=new qx.ui.form.List();
this.add(this.list,{row:k++,column:0});
this.list.addListener(b,function(e){var n=e.getData()[0];

if(n!=null){var o=n.getUserData(h);
this.currTaskTableDef=o;

if(this.taskTable!=null)this.remove(this.taskTable);
this.taskTable=new track.tasks.TaskTable(o,this.dataArr);
this.add(this.taskTable,{row:0,column:1,rowSpan:4});
}},this);
},updateItems:function(p){this.list.removeAll();

for(var i in p){this.info("var: "+i);
var q=new qx.ui.form.ListItem(i);
q.setUserData(h,p[i]);
this.list.add(q);
}},updateData:function(r){this.dataArr=r;

if(this.taskTable!=null){this.taskTable.setData(this.dataArr);
}}}});
})();
(function(){var e="change",d="qx.event.type.Data",c="qx.ui.form.MModelSelection",b="__no",a="changeSelection";
qx.Mixin.define(c,{construct:function(){this.__no=new qx.data.Array();
this.__no.addListener(e,this.__nr,this);
this.addListener(a,this.__nq,this);
},events:{changeModelSelection:d},members:{__no:null,__np:false,__nq:function(){if(this.__np){return;
}var h=this.getSelection();
var f=[];

for(var i=0;i<h.length;i++){var k=h[i];
var g=k.getModel?k.getModel():null;

if(g!==null){f.push(g);
}}if(f.length===h.length){this.setModelSelection(f);
}},__nr:function(){this.__np=true;
var m=this.getSelectables(true);
var o=[];
var n=this.__no.toArray();

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

for(var j=0;j<m.length;j++){var r=m[j];
var l=r.getModel?r.getModel():null;

if(q===l){o.push(r);
break;
}}}this.setSelection(o);
this.__np=false;
var p=this.getSelection();

if(!qx.lang.Array.equals(p,o)){this.__nq();
}},getModelSelection:function(){return this.__no;
},setModelSelection:function(s){if(!s){this.__no.removeAll();
return;
}{};
s.unshift(this.__no.getLength());
s.unshift(0);
var t=this.__no.splice.apply(this.__no,s);
t.dispose();
}},destruct:function(){this._disposeObjects(b);
}});
})();
(function(){var a="qx.ui.form.IModelSelection";
qx.Interface.define(a,{members:{setModelSelection:function(b){},getModelSelection:function(){}}});
})();
(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 k="scrollbar-y",j="scrollbar-x",i="pane",h="auto",g="corner",f="scrollbar-",d="on",c="_computeScrollbars",b="getDocument",a="changeVisibility",D="off",C="x",B="scroll",A="touchmove",z="scrollY",y="Left",x="mousewheel",w="scrollbarX",v="scrollarea",u="y",r="vertical",s="scrollX",p="touchstart",q="horizontal",n="qx.ui.core.scroll.AbstractScrollArea",o="abstract",l="update",m="scrollbarY",t="Top";
qx.Class.define(n,{extend:qx.ui.core.Widget,include:qx.ui.core.scroll.MScrollBarFactory,type:o,construct:function(){qx.ui.core.Widget.call(this);
var E=new qx.ui.layout.Grid();
E.setColumnFlex(0,1);
E.setRowFlex(0,1);
this._setLayout(E);
this.addListener(x,this._onMouseWheel,this);
if(qx.bom.client.Feature.TOUCH){this.addListener(A,this._onTouchMove,this);
this.addListener(p,function(){this.__ns={"x":0,"y":0};
},this);
this.__ns={};
this.__nt={};
}},properties:{appearance:{refine:true,init:v},width:{refine:true,init:100},height:{refine:true,init:200},scrollbarX:{check:[h,d,D],init:h,themeable:true,apply:c},scrollbarY:{check:[h,d,D],init:h,themeable:true,apply:c},scrollbar:{group:[w,m]}},members:{__ns:null,__nt:null,_createChildControlImpl:function(F,G){var H;

switch(F){case i:H=new qx.ui.core.scroll.ScrollPane();
H.addListener(l,this._computeScrollbars,this);
H.addListener(s,this._onScrollPaneX,this);
H.addListener(z,this._onScrollPaneY,this);
this._add(H,{row:0,column:0});
break;
case j:H=this._createScrollBar(q);
H.setMinWidth(0);
H.exclude();
H.addListener(B,this._onScrollBarX,this);
H.addListener(a,this._onChangeScrollbarXVisibility,this);
this._add(H,{row:1,column:0});
break;
case k:H=this._createScrollBar(r);
H.setMinHeight(0);
H.exclude();
H.addListener(B,this._onScrollBarY,this);
H.addListener(a,this._onChangeScrollbarYVisibility,this);
this._add(H,{row:0,column:1});
break;
case g:H=new qx.ui.core.Widget();
H.setWidth(0);
H.setHeight(0);
H.exclude();
this._add(H,{row:1,column:1});
break;
}return H||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,F);
},getPaneSize:function(){return this.getChildControl(i).getInnerSize();
},getItemTop:function(I){return this.getChildControl(i).getItemTop(I);
},getItemBottom:function(J){return this.getChildControl(i).getItemBottom(J);
},getItemLeft:function(K){return this.getChildControl(i).getItemLeft(K);
},getItemRight:function(L){return this.getChildControl(i).getItemRight(L);
},scrollToX:function(M){qx.ui.core.queue.Manager.flush();
this.getChildControl(j).scrollTo(M);
},scrollByX:function(N){qx.ui.core.queue.Manager.flush();
this.getChildControl(j).scrollBy(N);
},getScrollX:function(){var O=this.getChildControl(j,true);
return O?O.getPosition():0;
},scrollToY:function(P){qx.ui.core.queue.Manager.flush();
this.getChildControl(k).scrollTo(P);
},scrollByY:function(Q){qx.ui.core.queue.Manager.flush();
this.getChildControl(k).scrollBy(Q);
},getScrollY:function(){var R=this.getChildControl(k,true);
return R?R.getPosition():0;
},_onScrollBarX:function(e){this.getChildControl(i).scrollToX(e.getData());
},_onScrollBarY:function(e){this.getChildControl(i).scrollToY(e.getData());
},_onScrollPaneX:function(e){this.scrollToX(e.getData());
},_onScrollPaneY:function(e){this.scrollToY(e.getData());
},_onMouseWheel:function(e){var T=this._isChildControlVisible(j);
var U=this._isChildControlVisible(k);
var S=(U)?this.getChildControl(k,true):(T?this.getChildControl(j,true):null);

if(S){S.scrollBySteps(e.getWheelDelta());
e.stop();
}},_onTouchMove:function(e){this._onTouchMoveDirectional(C,e);
this._onTouchMoveDirectional(u,e);
e.stop();
},_onTouchMoveDirectional:function(V,e){var W=(V==C?y:t);
var Y=this.getChildControl(f+V,true);
var ba=this._isChildControlVisible(f+V);

if(ba&&Y){if(this.__ns[V]==0){var X=0;
}else{var X=-(e[b+W]()-this.__ns[V]);
}this.__ns[V]=e[b+W]();
Y.scrollBy(X);
if(this.__nt[V]){clearTimeout(this.__nt[V]);
this.__nt[V]=null;
}this.__nt[V]=setTimeout(qx.lang.Function.bind(function(bb){this.__nu(bb,V);
},this,X),100);
}},__nu:function(bc,bd){this.__nt[bd]=null;
var bf=this._isChildControlVisible(f+bd);

if(bc==0||!bf){return;
}if(bc>0){bc=Math.max(0,bc-3);
}else{bc=Math.min(0,bc+3);
}this.__nt[bd]=setTimeout(qx.lang.Function.bind(function(bg,bh){this.__nu(bg,bh);
},this,bc,bd),20);
var be=this.getChildControl(f+bd,true);
be.scrollBy(bc);
},_onChangeScrollbarXVisibility:function(e){var bi=this._isChildControlVisible(j);
var bj=this._isChildControlVisible(k);

if(!bi){this.scrollToX(0);
}bi&&bj?this._showChildControl(g):this._excludeChildControl(g);
},_onChangeScrollbarYVisibility:function(e){var bk=this._isChildControlVisible(j);
var bl=this._isChildControlVisible(k);

if(!bl){this.scrollToY(0);
}bk&&bl?this._showChildControl(g):this._excludeChildControl(g);
},_computeScrollbars:function(){var bs=this.getChildControl(i);
var content=bs.getChildren()[0];

if(!content){this._excludeChildControl(j);
this._excludeChildControl(k);
return;
}var bm=this.getInnerSize();
var br=bs.getInnerSize();
var bp=bs.getScrollSize();
if(!br||!bp){return;
}var bt=this.getScrollbarX();
var bu=this.getScrollbarY();

if(bt===h&&bu===h){var bq=bp.width>bm.width;
var bv=bp.height>bm.height;
if((bq||bv)&&!(bq&&bv)){if(bq){bv=bp.height>br.height;
}else if(bv){bq=bp.width>br.width;
}}}else{var bq=bt===d;
var bv=bu===d;
if(bp.width>(bq?br.width:bm.width)&&bt===h){bq=true;
}
if(bp.height>(bq?br.height:bm.height)&&bu===h){bv=true;
}}if(bq){var bo=this.getChildControl(j);
bo.show();
bo.setMaximum(Math.max(0,bp.width-br.width));
bo.setKnobFactor((bp.width===0)?0:br.width/bp.width);
}else{this._excludeChildControl(j);
}
if(bv){var bn=this.getChildControl(k);
bn.show();
bn.setMaximum(Math.max(0,bp.height-br.height));
bn.setKnobFactor((bp.height===0)?0:br.height/bp.height);
}else{this._excludeChildControl(k);
}}}});
})();
(function(){var v="single",u="Boolean",t="one",s="changeSelection",r="mouseup",q="mousedown",p="losecapture",o="multi",n="_applyQuickSelection",m="mouseover",d="_applySelectionMode",l="_applyDragSelection",h="qx.ui.core.MMultiSelectionHandling",c="removeItem",b="keypress",g="qx.event.type.Data",f="__nv",j="addItem",a="additive",k="mousemove";
qx.Mixin.define(h,{construct:function(){var x=this.SELECTION_MANAGER;
var w=this.__nv=new x(this);
this.addListener(q,w.handleMouseDown,w);
this.addListener(r,w.handleMouseUp,w);
this.addListener(m,w.handleMouseOver,w);
this.addListener(k,w.handleMouseMove,w);
this.addListener(p,w.handleLoseCapture,w);
this.addListener(b,w.handleKeyPress,w);
this.addListener(j,w.handleAddItem,w);
this.addListener(c,w.handleRemoveItem,w);
w.addListener(s,this._onSelectionChange,this);
},events:{"changeSelection":g},properties:{selectionMode:{check:[v,o,a,t],init:v,apply:d},dragSelection:{check:u,init:false,apply:l},quickSelection:{check:u,init:false,apply:n}},members:{__nv:null,selectAll:function(){this.__nv.selectAll();
},isSelected:function(y){if(!qx.ui.core.Widget.contains(this,y)){throw new Error("Could not test if "+y+" is selected, because it is not a child element!");
}return this.__nv.isItemSelected(y);
},addToSelection:function(z){if(!qx.ui.core.Widget.contains(this,z)){throw new Error("Could not add + "+z+" to selection, because it is not a child element!");
}this.__nv.addItem(z);
},removeFromSelection:function(A){if(!qx.ui.core.Widget.contains(this,A)){throw new Error("Could not remove "+A+" from selection, because it is not a child element!");
}this.__nv.removeItem(A);
},selectRange:function(B,C){this.__nv.selectItemRange(B,C);
},resetSelection:function(){this.__nv.clearSelection();
},setSelection:function(D){for(var i=0;i<D.length;i++){if(!qx.ui.core.Widget.contains(this,D[i])){throw new Error("Could not select "+D[i]+", because it is not a child element!");
}}
if(D.length===0){this.resetSelection();
}else{var E=this.getSelection();

if(!qx.lang.Array.equals(E,D)){this.__nv.replaceSelection(D);
}}},getSelection:function(){return this.__nv.getSelection();
},getSortedSelection:function(){return this.__nv.getSortedSelection();
},isSelectionEmpty:function(){return this.__nv.isSelectionEmpty();
},getSelectionContext:function(){return this.__nv.getSelectionContext();
},_getManager:function(){return this.__nv;
},getSelectables:function(F){return this.__nv.getSelectables(F);
},invertSelection:function(){this.__nv.invertSelection();
},_getLeadItem:function(){var G=this.__nv.getMode();

if(G===v||G===t){return this.__nv.getSelectedItem();
}else{return this.__nv.getLeadItem();
}},_applySelectionMode:function(H,I){this.__nv.setMode(H);
},_applyDragSelection:function(J,K){this.__nv.setDrag(J);
},_applyQuickSelection:function(L,M){this.__nv.setQuick(L);
},_onSelectionChange:function(e){this.fireDataEvent(s,e.getData());
}},destruct:function(){this._disposeObjects(f);
}});
})();
(function(){var b="qx.ui.core.ISingleSelection",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeSelection":a},members:{getSelection:function(){return true;
},setSelection:function(c){return arguments.length==1;
},resetSelection:function(){return true;
},isSelected:function(d){return arguments.length==1;
},isSelectionEmpty:function(){return true;
},getSelectables:function(e){return arguments.length==1;
}}});
})();
(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 o="one",n="single",m="selected",k="additive",j="multi",h="PageUp",g="under",f="Left",d="lead",c="Down",M="Up",L="Boolean",K="PageDown",J="anchor",I="End",H="Home",G="Right",F="right",E="click",D="above",v="left",w="Escape",t="A",u="Space",r="__nz",s="_applyMode",p="interval",q="changeSelection",x="qx.event.type.Data",y="quick",A="key",z="abstract",C="drag",B="qx.ui.core.selection.Abstract";
qx.Class.define(B,{type:z,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__nw={};
},events:{"changeSelection":x},properties:{mode:{check:[n,j,k,o],init:n,apply:s},drag:{check:L,init:false},quick:{check:L,init:false}},members:{__nx:0,__ny:0,__nz:null,__nA:null,__nB:null,__nC:null,__nD:null,__nE:null,__nF:null,__nG:null,__nH:null,__nI:null,__nJ:null,__nK:null,__nL:null,__nM:null,__nN:null,__nw:null,__nO:null,__nP:null,_userInteraction:false,__nQ:null,getSelectionContext:function(){return this.__nM;
},selectAll:function(){var N=this.getMode();

if(N==n||N==o){throw new Error("Can not select all items in selection mode: "+N);
}this._selectAllItems();
this._fireChange();
},selectItem:function(O){this._setSelectedItem(O);
var P=this.getMode();

if(P!==n&&P!==o){this._setLeadItem(O);
this._setAnchorItem(O);
}this._scrollItemIntoView(O);
this._fireChange();
},addItem:function(Q){var R=this.getMode();

if(R===n||R===o){this._setSelectedItem(Q);
}else{if(!this._getAnchorItem()){this._setAnchorItem(Q);
}this._setLeadItem(Q);
this._addToSelection(Q);
}this._scrollItemIntoView(Q);
this._fireChange();
},removeItem:function(S){this._removeFromSelection(S);

if(this.getMode()===o&&this.isSelectionEmpty()){var T=this._getFirstSelectable();

if(T){this.addItem(T);
}if(T==S){return;
}}
if(this.getLeadItem()==S){this._setLeadItem(null);
}
if(this._getAnchorItem()==S){this._setAnchorItem(null);
}this._fireChange();
},selectItemRange:function(U,V){var W=this.getMode();

if(W==n||W==o){throw new Error("Can not select multiple items in selection mode: "+W);
}this._selectItemRange(U,V);
this._setAnchorItem(U);
this._setLeadItem(V);
this._scrollItemIntoView(V);
this._fireChange();
},clearSelection:function(){if(this.getMode()==o){return;
}this._clearSelection();
this._setLeadItem(null);
this._setAnchorItem(null);
this._fireChange();
},replaceSelection:function(X){var Y=this.getMode();

if(Y==o||Y===n){if(X.length>1){throw new Error("Could not select more than one items in mode: "+Y+"!");
}
if(X.length==1){this.selectItem(X[0]);
}else{this.clearSelection();
}return;
}else{this._replaceMultiSelection(X);
}},getSelectedItem:function(){var ba=this.getMode();

if(ba===n||ba===o){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.__nw);
},getSortedSelection:function(){var bc=this.getSelectables();
var bb=qx.lang.Object.getValues(this.__nw);
bb.sort(function(a,b){return bc.indexOf(a)-bc.indexOf(b);
});
return bb;
},isItemSelected:function(bd){var be=this._selectableToHashCode(bd);
return this.__nw[be]!==undefined;
},isSelectionEmpty:function(){return qx.lang.Object.isEmpty(this.__nw);
},invertSelection:function(){var bg=this.getMode();

if(bg===n||bg===o){throw new Error("The method invertSelection() is only supported in 'multi' and 'additive' selection mode!");
}var bf=this.getSelectables();

for(var i=0;i<bf.length;i++){this._toggleInSelection(bf[i]);
}this._fireChange();
},_setLeadItem:function(bh){var bi=this.__nN;

if(bi!==null){this._styleSelectable(bi,d,false);
}
if(bh!==null){this._styleSelectable(bh,d,true);
}this.__nN=bh;
},getLeadItem:function(){return this.__nN!==null?this.__nN:null;
},_setAnchorItem:function(bj){var bk=this.__nO;

if(bk){this._styleSelectable(bk,J,false);
}
if(bj){this._styleSelectable(bj,J,true);
}this.__nO=bj;
},_getAnchorItem:function(){return this.__nO!==null?this.__nO:null;
},_isSelectable:function(bl){throw new Error("Abstract method call: _isSelectable()");
},_getSelectableFromMouseEvent:function(event){var bm=event.getTarget();
if(bm&&this._isSelectable(bm)){return bm;
}return null;
},_selectableToHashCode:function(bn){throw new Error("Abstract method call: _selectableToHashCode()");
},_styleSelectable:function(bo,bp,bq){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(br){throw new Error("Abstract method call: _getSelectableLocationX()");
},_getSelectableLocationY:function(bs){throw new Error("Abstract method call: _getSelectableLocationY()");
},_getScroll:function(){throw new Error("Abstract method call: _getScroll()");
},_scrollBy:function(bt,bu){throw new Error("Abstract method call: _scrollBy()");
},_scrollItemIntoView:function(bv){throw new Error("Abstract method call: _scrollItemIntoView()");
},getSelectables:function(bw){throw new Error("Abstract method call: getSelectables()");
},_getSelectableRange:function(bx,by){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(bz,bA){throw new Error("Abstract method call: _getRelatedSelectable()");
},_getPage:function(bB,bC){throw new Error("Abstract method call: _getPage()");
},_applyMode:function(bD,bE){this._setLeadItem(null);
this._setAnchorItem(null);
this._clearSelection();
if(bD===o){var bF=this._getFirstSelectable();

if(bF){this._setSelectedItem(bF);
this._scrollItemIntoView(bF);
}}this._fireChange();
},handleMouseOver:function(event){if(this.__nQ!=null&&this.__nQ!=this._getScroll().top){this.__nQ=null;
return;
}this._userInteraction=true;

if(!this.getQuick()){this._userInteraction=false;
return;
}var bH=this.getMode();

if(bH!==o&&bH!==n){this._userInteraction=false;
return;
}var bG=this._getSelectableFromMouseEvent(event);

if(bG===null){this._userInteraction=false;
return;
}this._setSelectedItem(bG);
this._fireChange(y);
this._userInteraction=false;
},handleMouseDown:function(event){this._userInteraction=true;
var bJ=this._getSelectableFromMouseEvent(event);

if(bJ===null){this._userInteraction=false;
return;
}var bL=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var bI=event.isShiftPressed();
if(this.isItemSelected(bJ)&&!bI&&!bL&&!this.getDrag()){this.__nP=bJ;
this._userInteraction=false;
return;
}else{this.__nP=null;
}this._scrollItemIntoView(bJ);
switch(this.getMode()){case n:case o:this._setSelectedItem(bJ);
break;
case k:this._setLeadItem(bJ);
this._setAnchorItem(bJ);
this._toggleInSelection(bJ);
break;
case j:this._setLeadItem(bJ);
if(bI){var bK=this._getAnchorItem();

if(bK===null){bK=this._getFirstSelectable();
this._setAnchorItem(bK);
}this._selectItemRange(bK,bJ,bL);
}else if(bL){this._setAnchorItem(bJ);
this._toggleInSelection(bJ);
}else{this._setAnchorItem(bJ);
this._setSelectedItem(bJ);
}break;
}var bM=this.getMode();

if(this.getDrag()&&bM!==n&&bM!==o&&!bI&&!bL){this.__nD=this._getLocation();
this.__nA=this._getScroll();
this.__nE=event.getDocumentLeft()+this.__nA.left;
this.__nF=event.getDocumentTop()+this.__nA.top;
this.__nG=true;
this._capture();
}this._fireChange(E);
this._userInteraction=false;
},handleMouseUp:function(event){this._userInteraction=true;
var bQ=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var bN=event.isShiftPressed();

if(!bQ&&!bN&&this.__nP){var bO=this._getSelectableFromMouseEvent(event);

if(bO===null||!this.isItemSelected(bO)){this._userInteraction=false;
return;
}var bP=this.getMode();

if(bP===k){this._removeFromSelection(bO);
}else{this._setSelectedItem(bO);

if(this.getMode()===j){this._setLeadItem(bO);
this._setAnchorItem(bO);
}}this._userInteraction=false;
}this._cleanup();
},handleLoseCapture:function(event){this._cleanup();
},handleMouseMove:function(event){if(!this.__nG){return;
}this.__nH=event.getDocumentLeft();
this.__nI=event.getDocumentTop();
this._userInteraction=true;
var bS=this.__nH+this.__nA.left;

if(bS>this.__nE){this.__nJ=1;
}else if(bS<this.__nE){this.__nJ=-1;
}else{this.__nJ=0;
}var bR=this.__nI+this.__nA.top;

if(bR>this.__nF){this.__nK=1;
}else if(bR<this.__nF){this.__nK=-1;
}else{this.__nK=0;
}var location=this.__nD;

if(this.__nH<location.left){this.__nx=this.__nH-location.left;
}else if(this.__nH>location.right){this.__nx=this.__nH-location.right;
}else{this.__nx=0;
}
if(this.__nI<location.top){this.__ny=this.__nI-location.top;
}else if(this.__nI>location.bottom){this.__ny=this.__nI-location.bottom;
}else{this.__ny=0;
}if(!this.__nz){this.__nz=new qx.event.Timer(100);
this.__nz.addListener(p,this._onInterval,this);
}this.__nz.start();
this._autoSelect();
event.stopPropagation();
this._userInteraction=false;
},handleAddItem:function(e){var bT=e.getData();

if(this.getMode()===o&&this.isSelectionEmpty()){this.addItem(bT);
}},handleRemoveItem:function(e){this.removeItem(e.getData());
},_cleanup:function(){if(!this.getDrag()&&this.__nG){return;
}if(this.__nL){this._fireChange(E);
}delete this.__nG;
delete this.__nB;
delete this.__nC;
this._releaseCapture();
if(this.__nz){this.__nz.stop();
}},_onInterval:function(e){this._scrollBy(this.__nx,this.__ny);
this.__nA=this._getScroll();
this._autoSelect();
},_autoSelect:function(){var cd=this._getDimension();
var bV=Math.max(0,Math.min(this.__nH-this.__nD.left,cd.width))+this.__nA.left;
var bU=Math.max(0,Math.min(this.__nI-this.__nD.top,cd.height))+this.__nA.top;
if(this.__nB===bV&&this.__nC===bU){return;
}this.__nB=bV;
this.__nC=bU;
var cf=this._getAnchorItem();
var bX=cf;
var cb=this.__nJ;
var ce,bW;

while(cb!==0){ce=cb>0?this._getRelatedSelectable(bX,F):this._getRelatedSelectable(bX,v);
if(ce!==null){bW=this._getSelectableLocationX(ce);
if((cb>0&&bW.left<=bV)||(cb<0&&bW.right>=bV)){bX=ce;
continue;
}}break;
}var cc=this.__nK;
var ca,bY;

while(cc!==0){ca=cc>0?this._getRelatedSelectable(bX,g):this._getRelatedSelectable(bX,D);
if(ca!==null){bY=this._getSelectableLocationY(ca);
if((cc>0&&bY.top<=bU)||(cc<0&&bY.bottom>=bU)){bX=ca;
continue;
}}break;
}var cg=this.getMode();

if(cg===j){this._selectItemRange(cf,bX);
}else if(cg===k){if(this.isItemSelected(cf)){this._selectItemRange(cf,bX,true);
}else{this._deselectItemRange(cf,bX);
}this._setAnchorItem(bX);
}this._fireChange(C);
},__nR:{Home:1,Down:1,Right:1,PageDown:1,End:1,Up:1,Left:1,PageUp:1},handleKeyPress:function(event){this._userInteraction=true;
var cm,cl;
var co=event.getKeyIdentifier();
var cn=this.getMode();
var ci=event.isCtrlPressed()||(qx.bom.client.Platform.MAC&&event.isMetaPressed());
var cj=event.isShiftPressed();
var ck=false;

if(co===t&&ci){if(cn!==n&&cn!==o){this._selectAllItems();
ck=true;
}}else if(co===w){if(cn!==n&&cn!==o){this._clearSelection();
ck=true;
}}else if(co===u){var ch=this.getLeadItem();

if(ch&&!cj){if(ci||cn===k){this._toggleInSelection(ch);
}else{this._setSelectedItem(ch);
}ck=true;
}}else if(this.__nR[co]){ck=true;

if(cn===n||cn==o){cm=this._getSelectedItem();
}else{cm=this.getLeadItem();
}
if(cm!==null){switch(co){case H:cl=this._getFirstSelectable();
break;
case I:cl=this._getLastSelectable();
break;
case M:cl=this._getRelatedSelectable(cm,D);
break;
case c:cl=this._getRelatedSelectable(cm,g);
break;
case f:cl=this._getRelatedSelectable(cm,v);
break;
case G:cl=this._getRelatedSelectable(cm,F);
break;
case h:cl=this._getPage(cm,true);
break;
case K:cl=this._getPage(cm,false);
break;
}}else{switch(co){case H:case c:case G:case K:cl=this._getFirstSelectable();
break;
case I:case M:case f:case h:cl=this._getLastSelectable();
break;
}}if(cl!==null){switch(cn){case n:case o:this._setSelectedItem(cl);
break;
case k:this._setLeadItem(cl);
break;
case j:if(cj){var cp=this._getAnchorItem();

if(cp===null){this._setAnchorItem(cp=this._getFirstSelectable());
}this._setLeadItem(cl);
this._selectItemRange(cp,cl,ci);
}else{this._setAnchorItem(cl);
this._setLeadItem(cl);

if(!ci){this._setSelectedItem(cl);
}}break;
}this.__nQ=this._getScroll().top;
this._scrollItemIntoView(cl);
}}
if(ck){event.stop();
this._fireChange(A);
}this._userInteraction=false;
},_selectAllItems:function(){var cq=this.getSelectables();

for(var i=0,l=cq.length;i<l;i++){this._addToSelection(cq[i]);
}},_clearSelection:function(){var cr=this.__nw;

for(var cs in cr){this._removeFromSelection(cr[cs]);
}this.__nw={};
},_selectItemRange:function(ct,cu,cv){var cy=this._getSelectableRange(ct,cu);
if(!cv){var cx=this.__nw;
var cz=this.__nS(cy);

for(var cw in cx){if(!cz[cw]){this._removeFromSelection(cx[cw]);
}}}for(var i=0,l=cy.length;i<l;i++){this._addToSelection(cy[i]);
}},_deselectItemRange:function(cA,cB){var cC=this._getSelectableRange(cA,cB);

for(var i=0,l=cC.length;i<l;i++){this._removeFromSelection(cC[i]);
}},__nS:function(cD){var cF={};
var cE;

for(var i=0,l=cD.length;i<l;i++){cE=cD[i];
cF[this._selectableToHashCode(cE)]=cE;
}return cF;
},_getSelectedItem:function(){for(var cG in this.__nw){return this.__nw[cG];
}return null;
},_setSelectedItem:function(cH){if(this._isSelectable(cH)){var cI=this.__nw;
var cJ=this._selectableToHashCode(cH);

if(!cI[cJ]||qx.lang.Object.hasMinLength(cI,2)){this._clearSelection();
this._addToSelection(cH);
}}},_addToSelection:function(cK){var cL=this._selectableToHashCode(cK);

if(!this.__nw[cL]&&this._isSelectable(cK)){this.__nw[cL]=cK;
this._styleSelectable(cK,m,true);
this.__nL=true;
}},_toggleInSelection:function(cM){var cN=this._selectableToHashCode(cM);

if(!this.__nw[cN]){this.__nw[cN]=cM;
this._styleSelectable(cM,m,true);
}else{delete this.__nw[cN];
this._styleSelectable(cM,m,false);
}this.__nL=true;
},_removeFromSelection:function(cO){var cP=this._selectableToHashCode(cO);

if(this.__nw[cP]!=null){delete this.__nw[cP];
this._styleSelectable(cO,m,false);
this.__nL=true;
}},_replaceMultiSelection:function(cQ){var cT=false;
var cW,cV;
var cR={};

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

if(this._isSelectable(cW)){cV=this._selectableToHashCode(cW);
cR[cV]=cW;
}}var cX=cQ[0];
var cS=cW;
var cU=this.__nw;

for(var cV in cU){if(cR[cV]){delete cR[cV];
}else{cW=cU[cV];
delete cU[cV];
this._styleSelectable(cW,m,false);
cT=true;
}}for(var cV in cR){cW=cU[cV]=cR[cV];
this._styleSelectable(cW,m,true);
cT=true;
}if(!cT){return false;
}this._scrollItemIntoView(cS);
this._setLeadItem(cX);
this._setAnchorItem(cX);
this.__nL=true;
this._fireChange();
},_fireChange:function(cY){if(this.__nL){this.__nM=cY||null;
this.fireDataEvent(q,this.getSelection());
delete this.__nL;
}}},destruct:function(){this._disposeObjects(r);
this.__nw=this.__nP=this.__nO=null;
this.__nN=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(g){qx.ui.core.selection.Abstract.call(this);
this.__nT=g;
},members:{__nT:null,_isSelectable:function(h){return this._isItemSelectable(h)&&h.getLayoutParent()===this.__nT;
},_selectableToHashCode:function(j){return j.$$hash;
},_styleSelectable:function(k,m,n){n?k.addState(m):k.removeState(m);
},_capture:function(){this.__nT.capture();
},_releaseCapture:function(){this.__nT.releaseCapture();
},_isItemSelectable:function(o){if(this._userInteraction){return o.isVisible()&&o.isEnabled();
}else{return o.isVisible();
}},_getWidget:function(){return this.__nT;
},_getLocation:function(){var p=this.__nT.getContentElement().getDomElement();
return p?qx.bom.element.Location.get(p):null;
},_getDimension:function(){return this.__nT.getInnerSize();
},_getSelectableLocationX:function(q){var r=q.getBounds();

if(r){return {left:r.left,right:r.left+r.width};
}},_getSelectableLocationY:function(s){var t=s.getBounds();

if(t){return {top:t.top,bottom:t.top+t.height};
}},_getScroll:function(){return {left:0,top:0};
},_scrollBy:function(u,v){},_scrollItemIntoView:function(w){this.__nT.scrollChildIntoView(w);
},getSelectables:function(x){var y=false;

if(!x){y=this._userInteraction;
this._userInteraction=true;
}var B=this.__nT.getChildren();
var z=[];
var A;

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

if(this._isItemSelectable(A)){z.push(A);
}}this._userInteraction=y;
return z;
},_getSelectableRange:function(C,D){if(C===D){return [C];
}var H=this.__nT.getChildren();
var E=[];
var G=false;
var F;

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

if(F===C||F===D){if(G){E.push(F);
break;
}else{G=true;
}}
if(G&&this._isItemSelectable(F)){E.push(F);
}}return E;
},_getFirstSelectable:function(){var I=this.__nT.getChildren();

for(var i=0,l=I.length;i<l;i++){if(this._isItemSelectable(I[i])){return I[i];
}}return null;
},_getLastSelectable:function(){var J=this.__nT.getChildren();

for(var i=J.length-1;i>0;i--){if(this._isItemSelectable(J[i])){return J[i];
}}return null;
},_getRelatedSelectable:function(K,L){var O=this.__nT.getOrientation()===f;
var N=this.__nT.getChildren();
var M=N.indexOf(K);
var P;

if((O&&L===d)||(!O&&L===b)){for(var i=M-1;i>=0;i--){P=N[i];

if(this._isItemSelectable(P)){return P;
}}}else if((O&&L===e)||(!O&&L===a)){for(var i=M+1;i<N.length;i++){P=N[i];

if(this._isItemSelectable(P)){return P;
}}}return null;
},_getPage:function(Q,R){if(R){return this._getFirstSelectable();
}else{return this._getLastSelectable();
}}},destruct:function(){this.__nT=null;
}});
})();
(function(){var a="qx.ui.core.selection.ScrollArea";
qx.Class.define(a,{extend:qx.ui.core.selection.Widget,members:{_isSelectable:function(b){return this._isItemSelectable(b)&&b.getLayoutParent()===this._getWidget().getChildrenContainer();
},_getDimension:function(){return this._getWidget().getPaneSize();
},_getScroll:function(){var c=this._getWidget();
return {left:c.getScrollX(),top:c.getScrollY()};
},_scrollBy:function(d,e){var f=this._getWidget();
f.scrollByX(d);
f.scrollByY(e);
},_getPage:function(g,h){var m=this.getSelectables();
var length=m.length;
var p=m.indexOf(g);
if(p===-1){throw new Error("Invalid lead item: "+g);
}var j=this._getWidget();
var r=j.getScrollY();
var innerHeight=j.getInnerSize().height;
var top,l,q;

if(h){var o=r;
var i=p;
while(1){for(;i>=0;i--){top=j.getItemTop(m[i]);
if(top<o){q=i+1;
break;
}}if(q==null){var s=this._getFirstSelectable();
return s==g?null:s;
}if(q>=p){o-=innerHeight+r-j.getItemBottom(g);
q=null;
continue;
}return m[q];
}}else{var n=innerHeight+r;
var i=p;
while(1){for(;i<length;i++){l=j.getItemBottom(m[i]);
if(l>n){q=i-1;
break;
}}if(q==null){var k=this._getLastSelectable();
return k==g?null:k;
}if(q<=p){n+=j.getItemTop(g)-r;
q=null;
continue;
}return m[q];
}}}}});
})();
(function(){var m="horizontal",k="qx.event.type.Data",j="vertical",h="",g="qx.ui.form.List",f="Enter",d="one",c="addChildWidget",b="_applySpacing",a="Boolean",y="Integer",x="action",w="keyinput",v="addItem",u="removeChildWidget",t="_applyOrientation",s="single",r="keypress",q="list",p="__nU",n="pane",o="removeItem";
qx.Class.define(g,{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(z){qx.ui.core.scroll.AbstractScrollArea.call(this);
this.__nU=new qx.ui.container.Composite();
this.__nU.addListener(c,this._onAddChild,this);
this.__nU.addListener(u,this._onRemoveChild,this);
this.getChildControl(n).add(this.__nU);
if(z){this.setOrientation(m);
}else{this.initOrientation();
}this.addListener(r,this._onKeyPress);
this.addListener(w,this._onKeyInput);
this.__nV=h;
},events:{addItem:k,removeItem:k},properties:{appearance:{refine:true,init:q},focusable:{refine:true,init:true},orientation:{check:[m,j],init:j,apply:t},spacing:{check:y,init:0,apply:b,themeable:true},enableInlineFind:{check:a,init:true}},members:{__nV:null,__nW:null,__nU:null,SELECTION_MANAGER:qx.ui.core.selection.ScrollArea,getChildrenContainer:function(){return this.__nU;
},_onAddChild:function(e){this.fireDataEvent(v,e.getData());
},_onRemoveChild:function(e){this.fireDataEvent(o,e.getData());
},handleKeyPress:function(e){if(!this._onKeyPress(e)){this._getManager().handleKeyPress(e);
}},_applyOrientation:function(A,B){var C=A===m;
var D=C?new qx.ui.layout.HBox():new qx.ui.layout.VBox();
var content=this.__nU;
content.setLayout(D);
content.setAllowGrowX(!C);
content.setAllowGrowY(C);
this._applySpacing(this.getSpacing());
},_applySpacing:function(E,F){this.__nU.getLayout().setSpacing(E);
},_onKeyPress:function(e){if(e.getKeyIdentifier()==f&&!e.isAltPressed()){var G=this.getSelection();

for(var i=0;i<G.length;i++){G[i].fireEvent(x);
}return true;
}return false;
},_onKeyInput:function(e){if(!this.getEnableInlineFind()){return;
}var H=this.getSelectionMode();

if(!(H===s||H===d)){return;
}if(((new Date).valueOf()-this.__nW)>1000){this.__nV=h;
}this.__nV+=e.getChar();
var I=this.findItemByLabelFuzzy(this.__nV);
if(I){this.setSelection([I]);
}this.__nW=(new Date).valueOf();
},findItemByLabelFuzzy:function(J){J=J.toLowerCase();
var K=this.getChildren();
for(var i=0,l=K.length;i<l;i++){var L=K[i].getLabel();
if(L&&L.toLowerCase().indexOf(J)==0){return K[i];
}}return null;
},findItem:function(M,N){if(N!==false){M=M.toLowerCase();
}var O=this.getChildren();
var Q;
for(var i=0,l=O.length;i<l;i++){Q=O[i];
var P=Q.getLabel();

if(P!=null){if(P.translate){P=P.translate();
}
if(N!==false){P=P.toLowerCase();
}
if(P.toString()==M.toString()){return Q;
}}}return null;
}},destruct:function(){this._disposeObjects(p);
}});
})();
(function(){var h="[",g="]",f=".",d="idBubble",c="changeBubble",b="qx.data.marshal.MEventBubbling",a="qx.event.type.Data";
qx.Mixin.define(b,{events:{"changeBubble":a},members:{_applyEventPropagation:function(i,j,name){this.fireDataEvent(c,{value:i,name:name,old:j});
this._registerEventChaining(i,j,name);
},_registerEventChaining:function(k,l,name){if((k instanceof qx.core.Object)&&qx.Class.hasMixin(k.constructor,qx.data.marshal.MEventBubbling)){var m=qx.lang.Function.bind(this.__nX,this,name);
var n=k.addListener(c,m,this);
k.setUserData(d,n);
}if(l!=null&&l.getUserData&&l.getUserData(d)!=null){l.removeListenerById(l.getUserData(d));
}},__nX: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(f)!=-1?v.name.indexOf(f):v.name.length;
var s=v.name.indexOf(h)!=-1?v.name.indexOf(h):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]!=h){t=f+t;
}var q=name+h+o+g+t;
}else if(s<u){var o=v.name.substring(0,s);
var t=v.name.substring(s,v.name.length);
var q=name+h+o+g+t;
}else{var q=name+h+v.name+g;
}}else{var q=name+h+v.name+g;
}}else{var q=name+f+v.name;
}this.fireDataEvent(c,{value:r,name:q,old:p});
}}});
})();
(function(){var l="change",k="add",j="remove",h="order",g="qx.event.type.Data",f="",e="qx.data.Array",d="?",c="changeBubble",b="number",a="changeLength";
qx.Class.define(e,{extend:qx.core.Object,include:qx.data.marshal.MEventBubbling,implement:[qx.data.IListData],construct:function(m){qx.core.Object.call(this);
if(m==undefined){this.__nY=[];
}else if(arguments.length>1){this.__nY=[];

for(var i=0;i<arguments.length;i++){this.__nY.push(arguments[i]);
}}else if(typeof m==b){this.__nY=new Array(m);
}else if(m instanceof Array){this.__nY=qx.lang.Array.clone(m);
}else{this.__nY=[];
throw new Error("Type of the parameter not supported!");
}for(var i=0;i<this.__nY.length;i++){this._applyEventPropagation(this.__nY[i],null,i);
}this.__oa();
},events:{"change":g,"changeLength":g},members:{__nY:null,concat:function(n){if(n){var o=this.__nY.concat(n);
}else{var o=this.__nY.concat();
}return new qx.data.Array(o);
},join:function(p){return this.__nY.join(p);
},pop:function(){var q=this.__nY.pop();
this.__oa();
this._applyEventPropagation(null,q,this.length-1);
this.fireDataEvent(l,{start:this.length-1,end:this.length-1,type:j,items:[q]},null);
return q;
},push:function(r){for(var i=0;i<arguments.length;i++){this.__nY.push(arguments[i]);
this.__oa();
this._applyEventPropagation(arguments[i],null,this.length-1);
this.fireDataEvent(l,{start:this.length-1,end:this.length-1,type:k,items:[arguments[i]]},null);
}return this.length;
},reverse:function(){this.__nY.reverse();
this.fireDataEvent(l,{start:0,end:this.length-1,type:h,items:null},null);
},shift:function(){var s=this.__nY.shift();
this.__oa();
this._applyEventPropagation(null,s,this.length-1);
this.fireDataEvent(l,{start:0,end:this.length-1,type:j,items:[s]},null);
return s;
},slice:function(t,u){return new qx.data.Array(this.__nY.slice(t,u));
},splice:function(v,w,x){var D=this.__nY.length;
var A=this.__nY.splice.apply(this.__nY,arguments);
if(this.__nY.length!=D){this.__oa();
}var B=w>0;
var y=arguments.length>2;
var z=null;

if(B||y){if(this.__nY.length>D){var C=k;
}else if(this.__nY.length<D){var C=j;
z=A;
}else{var C=h;
}this.fireDataEvent(l,{start:v,end:this.length-1,type:C,items:z},null);
}for(var i=2;i<arguments.length;i++){this._registerEventChaining(arguments[i],null,v+i);
}this.fireDataEvent(c,{value:this,name:d,old:A});
for(var i=0;i<A.length;i++){this._applyEventPropagation(null,A[i],i);
}return (new qx.data.Array(A));
},sort:function(E){this.__nY.sort.apply(this.__nY,arguments);
this.fireDataEvent(l,{start:0,end:this.length-1,type:h,items:null},null);
},unshift:function(F){for(var i=arguments.length-1;i>=0;i--){this.__nY.unshift(arguments[i]);
this.__oa();
this._applyEventPropagation(arguments[i],null,0);
this.fireDataEvent(l,{start:0,end:this.length-1,type:k,items:[arguments[i]]},null);
}return this.length;
},toArray:function(){return this.__nY;
},getItem:function(G){return this.__nY[G];
},setItem:function(H,I){var J=this.__nY[H];
if(J===I){return;
}this.__nY[H]=I;
this._applyEventPropagation(I,J,H);
if(this.length!=this.__nY.length){this.__oa();
}this.fireDataEvent(l,{start:H,end:H,type:k,items:[I]},null);
},getLength:function(){return this.length;
},indexOf:function(K){return this.__nY.indexOf(K);
},toString:function(){if(this.__nY!=null){return this.__nY.toString();
}return f;
},contains:function(L){return this.__nY.indexOf(L)!==-1;
},copy:function(){return this.concat();
},insertAt:function(M,N){this.splice(M,0,N);
},insertBefore:function(O,P){var Q=this.indexOf(O);

if(Q==-1){this.push(P);
}else{this.splice(Q,0,P);
}},insertAfter:function(R,S){var T=this.indexOf(R);

if(T==-1||T==(this.length-1)){this.push(S);
}else{this.splice(T+1,0,S);
}},removeAt:function(U){return this.splice(U,1).getItem(0);
},removeAll:function(){for(var i=0;i<this.__nY.length;i++){this._applyEventPropagation(null,this.__nY[i],i);
}var W=this.getLength();
var V=this.__nY.concat();
this.__nY.length=0;
this.__oa();
this.fireDataEvent(l,{start:0,end:W-1,type:j,items:V},null);
},append:function(X){if(X instanceof qx.data.Array){X=X.toArray();
}{};
for(var i=0;i<X.length;i++){this._applyEventPropagation(X[i],null,this.__nY.length+i);
}Array.prototype.push.apply(this.__nY,X);
var Y=this.length;
this.__oa();
this.fireDataEvent(l,{start:Y,end:this.length-1,type:k,items:X},null);
},remove:function(ba){var bb=this.indexOf(ba);

if(bb!=-1){this.splice(bb,1);
return ba;
}},equals:function(bc){if(this.length!==bc.length){return false;
}
for(var i=0;i<this.length;i++){if(this.getItem(i)!==bc.getItem(i)){return false;
}}return true;
},sum:function(){var bd=0;

for(var i=0;i<this.length;i++){bd+=this.getItem(i);
}return bd;
},max:function(){var be=this.getItem(0);

for(var i=1;i<this.length;i++){if(this.getItem(i)>be){be=this.getItem(i);
}}return be===undefined?null:be;
},min:function(){var bf=this.getItem(0);

for(var i=1;i<this.length;i++){if(this.getItem(i)<bf){bf=this.getItem(i);
}}return bf===undefined?null:bf;
},forEach:function(bg,bh){for(var i=0;i<this.__nY.length;i++){bg.call(bh,this.__nY[i]);
}},__oa:function(){var bi=this.length;
this.length=this.__nY.length;
this.fireDataEvent(a,this.length,bi);
}},destruct:function(){for(var i=0;i<this.__nY.length;i++){this._applyEventPropagation(null,this.__nY[i],i);
}this.__nY=null;
}});
})();
(function(){var b="qx.ui.core.scroll.IScrollBar",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"scroll":a},properties:{orientation:{},maximum:{},position:{},knobFactor:{}},members:{scrollTo:function(c){this.assertNumber(c);
},scrollBy:function(d){this.assertNumber(d);
},scrollBySteps:function(e){this.assertNumber(e);
}}});
})();
(function(){var k="horizontal",j="px",i="scroll",h="vertical",g="-1px",f="qx.client",d="0",c="hidden",b="mousedown",a="qx.ui.core.scroll.NativeScrollBar",z="PositiveNumber",y="Integer",x="mousemove",w="_applyMaximum",v="_applyOrientation",u="__oc",t="appear",s="opera",r="PositiveInteger",q="mshtml",o="mouseup",p="Number",m="_applyPosition",n="scrollbar",l="native";
qx.Class.define(a,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(A){qx.ui.core.Widget.call(this);
this.addState(l);
this.getContentElement().addListener(i,this._onScroll,this);
this.addListener(b,this._stopPropagation,this);
this.addListener(o,this._stopPropagation,this);
this.addListener(x,this._stopPropagation,this);

if(qx.core.Variant.isSet(f,s)){this.addListener(t,this._onAppear,this);
}this.getContentElement().add(this._getScrollPaneElement());
if(A!=null){this.setOrientation(A);
}else{this.initOrientation();
}},properties:{appearance:{refine:true,init:n},orientation:{check:[k,h],init:k,apply:v},maximum:{check:r,apply:w,init:100},position:{check:p,init:0,apply:m,event:i},singleStep:{check:y,init:20},knobFactor:{check:z,nullable:true}},members:{__ob:null,__oc:null,_getScrollPaneElement:function(){if(!this.__oc){this.__oc=new qx.html.Element();
}return this.__oc;
},renderLayout:function(B,top,C,D){var E=qx.ui.core.Widget.prototype.renderLayout.call(this,B,top,C,D);
this._updateScrollBar();
return E;
},_getContentHint:function(){var F=qx.bom.element.Overflow.getScrollbarWidth();
return {width:this.__ob?100:F,maxWidth:this.__ob?null:F,minWidth:this.__ob?null:F,height:this.__ob?F:100,maxHeight:this.__ob?F:null,minHeight:this.__ob?F:null};
},_applyEnabled:function(G,H){qx.ui.core.Widget.prototype._applyEnabled.call(this,G,H);
this._updateScrollBar();
},_applyMaximum:function(I){this._updateScrollBar();
},_applyPosition:function(J){var content=this.getContentElement();

if(this.__ob){content.scrollToX(J);
}else{content.scrollToY(J);
}},_applyOrientation:function(K,L){var M=this.__ob=K===k;
this.set({allowGrowX:M,allowShrinkX:M,allowGrowY:!M,allowShrinkY:!M});

if(M){this.replaceState(h,k);
}else{this.replaceState(k,h);
}this.getContentElement().setStyles({overflowX:M?i:c,overflowY:M?c:i});
qx.ui.core.queue.Layout.add(this);
},_updateScrollBar:function(){var O=this.__ob;
var P=this.getBounds();

if(!P){return;
}
if(this.isEnabled()){var Q=O?P.width:P.height;
var N=this.getMaximum()+Q;
}else{N=0;
}if(qx.core.Variant.isSet(f,q)){var P=this.getBounds();
this.getContentElement().setStyles({left:O?d:g,top:O?g:d,width:(O?P.width:P.width+1)+j,height:(O?P.height+1:P.height)+j});
}this._getScrollPaneElement().setStyles({left:0,top:0,width:(O?N:1)+j,height:(O?1:N)+j});
this.scrollTo(this.getPosition());
},scrollTo:function(R){this.setPosition(Math.max(0,Math.min(this.getMaximum(),R)));
},scrollBy:function(S){this.scrollTo(this.getPosition()+S);
},scrollBySteps:function(T){var U=this.getSingleStep();
this.scrollBy(T*U);
},_onScroll:function(e){var W=this.getContentElement();
var V=this.__ob?W.getScrollX():W.getScrollY();
this.setPosition(V);
},_onAppear:function(e){this.scrollTo(this.getPosition());
},_stopPropagation:function(e){e.stopPropagation();
}},destruct:function(){this._disposeObjects(u);
}});
})();
(function(){var k="slider",j="horizontal",i="button-begin",h="vertical",g="button-end",f="Integer",d="execute",c="right",b="left",a="down",z="up",y="PositiveNumber",x="changeValue",w="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getMaximum()",v="_applyKnobFactor",u="knob",t="qx.ui.core.scroll.ScrollBar",s="resize",r="_applyOrientation",q="_applyPageStep",o="PositiveInteger",p="scroll",m="_applyPosition",n="scrollbar",l="_applyMaximum";
qx.Class.define(t,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(A){qx.ui.core.Widget.call(this);
this._createChildControl(i);
this._createChildControl(k).addListener(s,this._onResizeSlider,this);
this._createChildControl(g);
if(A!=null){this.setOrientation(A);
}else{this.initOrientation();
}},properties:{appearance:{refine:true,init:n},orientation:{check:[j,h],init:j,apply:r},maximum:{check:o,apply:l,init:100},position:{check:w,init:0,apply:m,event:p},singleStep:{check:f,init:20},pageStep:{check:f,init:10,apply:q},knobFactor:{check:y,apply:v,nullable:true}},members:{__od:2,_createChildControlImpl:function(B,C){var D;

switch(B){case k:D=new qx.ui.core.scroll.ScrollSlider();
D.setPageStep(100);
D.setFocusable(false);
D.addListener(x,this._onChangeSliderValue,this);
this._add(D,{flex:1});
break;
case i:D=new qx.ui.form.RepeatButton();
D.setFocusable(false);
D.addListener(d,this._onExecuteBegin,this);
this._add(D);
break;
case g:D=new qx.ui.form.RepeatButton();
D.setFocusable(false);
D.addListener(d,this._onExecuteEnd,this);
this._add(D);
break;
}return D||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,B);
},_applyMaximum:function(E){this.getChildControl(k).setMaximum(E);
},_applyPosition:function(F){this.getChildControl(k).setValue(F);
},_applyKnobFactor:function(G){this.getChildControl(k).setKnobFactor(G);
},_applyPageStep:function(H){this.getChildControl(k).setPageStep(H);
},_applyOrientation:function(I,J){var K=this._getLayout();

if(K){K.dispose();
}if(I===j){this._setLayout(new qx.ui.layout.HBox());
this.setAllowStretchX(true);
this.setAllowStretchY(false);
this.replaceState(h,j);
this.getChildControl(i).replaceState(z,b);
this.getChildControl(g).replaceState(a,c);
}else{this._setLayout(new qx.ui.layout.VBox());
this.setAllowStretchX(false);
this.setAllowStretchY(true);
this.replaceState(j,h);
this.getChildControl(i).replaceState(b,z);
this.getChildControl(g).replaceState(c,a);
}this.getChildControl(k).setOrientation(I);
},scrollTo:function(L){this.getChildControl(k).slideTo(L);
},scrollBy:function(M){this.getChildControl(k).slideBy(M);
},scrollBySteps:function(N){var O=this.getSingleStep();
this.getChildControl(k).slideBy(N*O);
},_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 P=this.getChildControl(k).getChildControl(u);
var S=P.getSizeHint();
var Q=false;
var R=this.getChildControl(k).getInnerSize();

if(this.getOrientation()==h){if(R.height<S.minHeight+this.__od){Q=true;
}}else{if(R.width<S.minWidth+this.__od){Q=true;
}}
if(Q){P.exclude();
}else{P.show();
}}}});
})();
(function(){var a="qx.ui.form.IRange";
qx.Interface.define(a,{members:{setMinimum:function(b){return arguments.length==1;
},getMinimum:function(){},setMaximum:function(c){return arguments.length==1;
},getMaximum:function(){},setSingleStep:function(d){return arguments.length==1;
},getSingleStep:function(){},setPageStep:function(e){return arguments.length==1;
},getPageStep:function(){}}});
})();
(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 k="knob",j="horizontal",i="vertical",h="Integer",g="hovered",f="left",d="top",c="mouseup",b="pressed",a="px",V="changeValue",U="interval",T="mousemove",S="resize",R="slider",Q="mousedown",P="PageUp",O="mouseout",N='qx.event.type.Data',M="Left",r="Down",s="Up",p="dblclick",q="qx.ui.form.Slider",n="PageDown",o="mousewheel",l="_applyValue",m="_applyKnobFactor",t="End",u="height",B="Right",z="width",F="_applyOrientation",D="Home",I="mouseover",H="floor",w="_applyMinimum",L="click",K="typeof value==='number'&&value>=this.getMinimum()&&value<=this.getMaximum()",J="keypress",v="ceil",x="losecapture",y="contextmenu",A="_applyMaximum",C="Number",E="changeMaximum",G="changeMinimum";
qx.Class.define(q,{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(W){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Canvas());
this.addListener(J,this._onKeyPress);
this.addListener(o,this._onMouseWheel);
this.addListener(Q,this._onMouseDown);
this.addListener(c,this._onMouseUp);
this.addListener(x,this._onMouseUp);
this.addListener(S,this._onUpdate);
this.addListener(y,this._onStopEvent);
this.addListener(L,this._onStopEvent);
this.addListener(p,this._onStopEvent);
if(W!=null){this.setOrientation(W);
}else{this.initOrientation();
}},events:{changeValue:N},properties:{appearance:{refine:true,init:R},focusable:{refine:true,init:true},orientation:{check:[j,i],init:j,apply:F},value:{check:K,init:0,apply:l,nullable:true},minimum:{check:h,init:0,apply:w,event:G},maximum:{check:h,init:100,apply:A,event:E},singleStep:{check:h,init:1},pageStep:{check:h,init:10},knobFactor:{check:C,apply:m,nullable:true}},members:{__oe:null,__of:null,__og:null,__oh:null,__oi:null,__oj:null,__ok:null,__ol:null,__om:null,__on:null,__oo:null,__op:null,_forwardStates:{invalid:true},_createChildControlImpl:function(X,Y){var ba;

switch(X){case k:ba=new qx.ui.core.Widget();
ba.addListener(S,this._onUpdate,this);
ba.addListener(I,this._onMouseOver);
ba.addListener(O,this._onMouseOut);
this._add(ba);
break;
}return ba||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,X);
},_onMouseOver:function(e){this.addState(g);
},_onMouseOut:function(e){this.removeState(g);
},_onMouseWheel:function(e){var bb=e.getWheelDelta()>0?1:-1;
this.slideBy(bb*this.getSingleStep());
e.stop();
},_onKeyPress:function(e){var bd=this.getOrientation()===j;
var bc=bd?M:s;
var forward=bd?B:r;

switch(e.getKeyIdentifier()){case forward:this.slideForward();
break;
case bc:this.slideBack();
break;
case n:this.slidePageForward();
break;
case P:this.slidePageBack();
break;
case D:this.slideToBegin();
break;
case t:this.slideToEnd();
break;
default:return;
}e.stop();
},_onMouseDown:function(e){if(this.__oh){return;
}var bg=this.__or;
var be=this.getChildControl(k);
var bf=bg?f:d;
var bi=bg?e.getDocumentLeft():e.getDocumentTop();
var bj=this.__oe=qx.bom.element.Location.get(this.getContentElement().getDomElement())[bf];
var bh=this.__of=qx.bom.element.Location.get(be.getContainerElement().getDomElement())[bf];

if(e.getTarget()===be){this.__oh=true;

if(!this.__on){this.__on=new qx.event.Timer(100);
this.__on.addListener(U,this._fireValue,this);
}this.__on.start();
this.__oi=bi+bj-bh;
be.addState(b);
}else{this.__oj=true;
this.__ok=bi<=bh?-1:1;
this.__os(e);
this._onInterval();
if(!this.__om){this.__om=new qx.event.Timer(100);
this.__om.addListener(U,this._onInterval,this);
}this.__om.start();
}this.addListener(T,this._onMouseMove);
this.capture();
e.stopPropagation();
},_onMouseUp:function(e){if(this.__oh){this.releaseCapture();
delete this.__oh;
this.__on.stop();
this._fireValue();
delete this.__oi;
this.getChildControl(k).removeState(b);
if(e.getType()===c){var bl;
var bm;
var bk;

if(this.__or){bl=e.getDocumentLeft()-(this._valueToPosition(this.getValue())+this.__oe);
bk=qx.bom.element.Location.get(this.getContentElement().getDomElement())[d];
bm=e.getDocumentTop()-(bk+this.getChildControl(k).getBounds().top);
}else{bl=e.getDocumentTop()-(this._valueToPosition(this.getValue())+this.__oe);
bk=qx.bom.element.Location.get(this.getContentElement().getDomElement())[f];
bm=e.getDocumentLeft()-(bk+this.getChildControl(k).getBounds().left);
}
if(bm<0||bm>this.__og||bl<0||bl>this.__og){this.getChildControl(k).removeState(g);
}}}else if(this.__oj){this.__om.stop();
this.releaseCapture();
delete this.__oj;
delete this.__ok;
delete this.__ol;
}this.removeListener(T,this._onMouseMove);
if(e.getType()===c){e.stopPropagation();
}},_onMouseMove:function(e){if(this.__oh){var bo=this.__or?e.getDocumentLeft():e.getDocumentTop();
var bn=bo-this.__oi;
this.slideTo(this._positionToValue(bn));
}else if(this.__oj){this.__os(e);
}e.stopPropagation();
},_onInterval:function(e){var bp=this.getValue()+(this.__ok*this.getPageStep());
if(bp<this.getMinimum()){bp=this.getMinimum();
}else if(bp>this.getMaximum()){bp=this.getMaximum();
}var bq=this.__ok==-1;

if((bq&&bp<=this.__ol)||(!bq&&bp>=this.__ol)){bp=this.__ol;
}this.slideTo(bp);
},_onUpdate:function(e){var bs=this.getInnerSize();
var bt=this.getChildControl(k).getBounds();
var br=this.__or?z:u;
this._updateKnobSize();
this.__oq=bs[br]-bt[br];
this.__og=bt[br];
this._updateKnobPosition();
},__or:false,__oq:0,__os:function(e){var bu=this.__or;
var bB=bu?e.getDocumentLeft():e.getDocumentTop();
var bD=this.__oe;
var bv=this.__of;
var bF=this.__og;
var bC=bB-bD;

if(bB>=bv){bC-=bF;
}var bz=this._positionToValue(bC);
var bw=this.getMinimum();
var bx=this.getMaximum();

if(bz<bw){bz=bw;
}else if(bz>bx){bz=bx;
}else{var bA=this.getValue();
var by=this.getPageStep();
var bE=this.__ok<0?H:v;
bz=bA+(Math[bE]((bz-bA)/by)*by);
}if(this.__ol==null||(this.__ok==-1&&bz<=this.__ol)||(this.__ok==1&&bz>=this.__ol)){this.__ol=bz;
}},_positionToValue:function(bG){var bH=this.__oq;
if(bH==null||bH==0){return 0;
}var bJ=bG/bH;

if(bJ<0){bJ=0;
}else if(bJ>1){bJ=1;
}var bI=this.getMaximum()-this.getMinimum();
return this.getMinimum()+Math.round(bI*bJ);
},_valueToPosition:function(bK){var bL=this.__oq;

if(bL==null){return 0;
}var bM=this.getMaximum()-this.getMinimum();
if(bM==0){return 0;
}var bK=bK-this.getMinimum();
var bN=bK/bM;

if(bN<0){bN=0;
}else if(bN>1){bN=1;
}return Math.round(bL*bN);
},_updateKnobPosition:function(){this._setKnobPosition(this._valueToPosition(this.getValue()));
},_setKnobPosition:function(bO){var bP=this.getChildControl(k).getContainerElement();

if(this.__or){bP.setStyle(f,bO+a,true);
}else{bP.setStyle(d,bO+a,true);
}},_updateKnobSize:function(){var bR=this.getKnobFactor();

if(bR==null){return;
}var bQ=this.getInnerSize();

if(bQ==null){return;
}if(this.__or){this.getChildControl(k).setWidth(Math.round(bR*bQ.width));
}else{this.getChildControl(k).setHeight(Math.round(bR*bQ.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(bS){this.slideTo(this.getValue()+bS);
},slideTo:function(bT){if(bT<this.getMinimum()){bT=this.getMinimum();
}else if(bT>this.getMaximum()){bT=this.getMaximum();
}else{bT=this.getMinimum()+Math.round((bT-this.getMinimum())/this.getSingleStep())*this.getSingleStep();
}this.setValue(bT);
},_applyOrientation:function(bU,bV){var bW=this.getChildControl(k);
this.__or=bU===j;
if(this.__or){this.removeState(i);
bW.removeState(i);
this.addState(j);
bW.addState(j);
bW.setLayoutProperties({top:0,right:null,bottom:0});
}else{this.removeState(j);
bW.removeState(j);
this.addState(i);
bW.addState(i);
bW.setLayoutProperties({right:0,bottom:null,left:0});
}this._updateKnobPosition();
},_applyKnobFactor:function(bX,bY){if(bX!=null){this._updateKnobSize();
}else{if(this.__or){this.getChildControl(k).resetWidth();
}else{this.getChildControl(k).resetHeight();
}}},_applyValue:function(ca,cb){if(ca!=null){this._updateKnobPosition();

if(this.__oh){this.__op=[ca,cb];
}else{this.fireEvent(V,qx.event.type.Data,[ca,cb]);
}}else{this.resetValue();
}},_fireValue:function(){if(!this.__op){return;
}var cc=this.__op;
this.__op=null;
this.fireEvent(V,qx.event.type.Data,cc);
},_applyMinimum:function(cd,ce){if(this.getValue()<cd){this.setValue(cd);
}this._updateKnobPosition();
},_applyMaximum:function(cf,cg){if(this.getValue()>cf){this.setValue(cf);
}this._updateKnobPosition();
}}});
})();
(function(){var d="horizontal",c="mousewheel",b="qx.ui.core.scroll.ScrollSlider",a="keypress";
qx.Class.define(b,{extend:qx.ui.form.Slider,construct:function(e){qx.ui.form.Slider.call(this,e);
this.removeListener(a,this._onKeyPress);
this.removeListener(c,this._onMouseWheel);
},members:{getSizeHint:function(f){var g=qx.ui.form.Slider.prototype.getSizeHint.call(this);
if(this.getOrientation()===d){g.width=0;
}else{g.height=0;
}return g;
}}});
})();
(function(){var n="pressed",m="abandoned",l="Integer",k="hovered",j="qx.event.type.Event",i="Enter",h="Space",g="press",f="qx.ui.form.RepeatButton",d="release",a="interval",c="__ot",b="execute";
qx.Class.define(f,{extend:qx.ui.form.Button,construct:function(o,p){qx.ui.form.Button.call(this,o,p);
this.__ot=new qx.event.AcceleratingTimer();
this.__ot.addListener(a,this._onInterval,this);
},events:{"execute":j,"press":j,"release":j},properties:{interval:{check:l,init:100},firstInterval:{check:l,init:500},minTimer:{check:l,init:20},timerDecrease:{check:l,init:2}},members:{__ou:null,__ot:null,press:function(){if(this.isEnabled()){if(!this.hasState(n)){this.__ov();
}this.removeState(m);
this.addState(n);
}},release:function(q){if(!this.isEnabled()){return;
}if(this.hasState(n)){if(!this.__ou){this.execute();
}}this.removeState(n);
this.removeState(m);
this.__ow();
},_applyEnabled:function(r,s){qx.ui.form.Button.prototype._applyEnabled.call(this,r,s);

if(!r){this.removeState(n);
this.removeState(m);
this.__ow();
}},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(m)){this.removeState(m);
this.addState(n);
this.__ot.start();
}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);
this.__ot.stop();
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}this.capture();
this.__ov();
e.stopPropagation();
},_onMouseUp:function(e){this.releaseCapture();

if(!this.hasState(m)){this.addState(k);

if(this.hasState(n)&&!this.__ou){this.execute();
}}this.__ow();
e.stopPropagation();
},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case i:case h:if(this.hasState(n)){if(!this.__ou){this.execute();
}this.removeState(n);
this.removeState(m);
e.stopPropagation();
this.__ow();
}}},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case i:case h:this.removeState(m);
this.addState(n);
e.stopPropagation();
this.__ov();
}},_onInterval:function(e){this.__ou=true;
this.fireEvent(b);
},__ov:function(){this.fireEvent(g);
this.__ou=false;
this.__ot.set({interval:this.getInterval(),firstInterval:this.getFirstInterval(),minimum:this.getMinTimer(),decrease:this.getTimerDecrease()}).start();
this.removeState(m);
this.addState(n);
},__ow:function(){this.fireEvent(d);
this.__ot.stop();
this.removeState(m);
this.removeState(n);
}},destruct:function(){this._disposeObjects(c);
}});
})();
(function(){var e="Integer",d="interval",c="qx.event.type.Event",b="qx.event.AcceleratingTimer",a="__ox";
qx.Class.define(b,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__ox=new qx.event.Timer(this.getInterval());
this.__ox.addListener(d,this._onInterval,this);
},events:{"interval":c},properties:{interval:{check:e,init:100},firstInterval:{check:e,init:500},minimum:{check:e,init:20},decrease:{check:e,init:2}},members:{__ox:null,__oy:null,start:function(){this.__ox.setInterval(this.getFirstInterval());
this.__ox.start();
},stop:function(){this.__ox.stop();
this.__oy=null;
},_onInterval:function(){this.__ox.stop();

if(this.__oy==null){this.__oy=this.getInterval();
}this.__oy=Math.max(this.getMinimum(),this.__oy-this.getDecrease());
this.__ox.setInterval(this.__oy);
this.__ox.start();
this.fireEvent(d);
}},destruct:function(){this._disposeObjects(a);
}});
})();
(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",d="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getScrollMaxY()",c="qx.event.type.Event",a="qx.ui.core.scroll.ScrollPane",b="scroll";
qx.Class.define(a,{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 n=this.getContentElement();
n.addListener(b,this._onScroll,this);
n.addListener(f,this._onAppear,this);
},events:{update:c},properties:{scrollX:{check:g,apply:i,event:j,init:0},scrollY:{check:d,apply:h,event:l,init:0}},members:{add:function(o){var p=this._getChildren()[0];

if(p){this._remove(p);
p.removeListener(m,this._onUpdate,this);
}
if(o){this._add(o);
o.addListener(m,this._onUpdate,this);
}},remove:function(q){if(q){this._remove(q);
q.removeListener(m,this._onUpdate,this);
}},getChildren:function(){return this._getChildren();
},_onUpdate:function(e){this.fireEvent(k);
},_onScroll:function(e){var r=this.getContentElement();
this.setScrollX(r.getScrollX());
this.setScrollY(r.getScrollY());
},_onAppear:function(e){var v=this.getContentElement();
var s=this.getScrollX();
var t=v.getScrollX();

if(s!=t){v.scrollToX(s);
}var w=this.getScrollY();
var u=v.getScrollY();

if(w!=u){v.scrollToY(w);
}},getItemTop:function(z){var top=0;

do{top+=z.getBounds().top;
z=z.getLayoutParent();
}while(z&&z!==this);
return top;
},getItemBottom:function(A){return this.getItemTop(A)+A.getBounds().height;
},getItemLeft:function(B){var C=0;
var parent;

do{C+=B.getBounds().left;
parent=B.getLayoutParent();

if(parent){C+=parent.getInsets().left;
}B=parent;
}while(B&&B!==this);
return C;
},getItemRight:function(D){return this.getItemLeft(D)+D.getBounds().width;
},getScrollSize:function(){return this.getChildren()[0].getBounds();
},getScrollMaxX:function(){var F=this.getInnerSize();
var E=this.getScrollSize();

if(F&&E){return Math.max(0,E.width-F.width);
}return 0;
},getScrollMaxY:function(){var H=this.getInnerSize();
var G=this.getScrollSize();

if(H&&G){return Math.max(0,G.height-H.height);
}return 0;
},scrollToX:function(I){var J=this.getScrollMaxX();

if(I<0){I=0;
}else if(I>J){I=J;
}this.setScrollX(I);
},scrollToY:function(K){var L=this.getScrollMaxY();

if(K<0){K=0;
}else if(K>L){K=L;
}this.setScrollY(K);
},scrollByX:function(x){this.scrollToX(this.getScrollX()+x);
},scrollByY:function(y){this.scrollToY(this.getScrollY()+y);
},_applyScrollX:function(M){this.getContentElement().scrollToX(M);
},_applyScrollY:function(N){this.getContentElement().scrollToY(N);
}}});
})();
(function(){var o="Boolean",n="column-button",m="Function",k="qx.event.type.Data",j="statusbar",h="qx.ui.table.pane.CellEvent",g="function",f="PageUp",e="dataChanged",d='"',bF="changeLocale",bE="changeSelection",bD="__oJ",bC="qx.dynlocale",bB="Enter",bA="metaDataChanged",bz="on",by="_applyStatusBarVisible",bx="columnVisibilityMenuCreateStart",bw="blur",v="qx.ui.table.Table",w="columnVisibilityMenuCreateEnd",t="changeVisible",u="_applyResetSelectionOnHeaderClick",r="_applyMetaColumnCounts",s="focus",p="changeDataRowRenderer",q="changeHeaderCellHeight",E="Escape",F="A",X="changeSelectionModel",T="Left",bg="Down",bb="Integer",bs="_applyHeaderCellHeight",bm="visibilityChanged",M="qx.ui.table.ITableModel",bv="orderChanged",bu="_applySelectionModel",bt="menu-button",K="menu",P="_applyAdditionalStatusBarText",R="_applyFocusCellOnMouseMove",V="table",Y="_applyColumnVisibilityButtonVisible",bc="changeTableModel",bi="qx.event.type.Event",bo="tableWidthChanged",y="_applyHeaderCellsVisible",z="Object",O="_applyShowCellFocusIndicator",bf="resize",be="verticalScrollBarChanged",bd="changeScrollY",bk="_applyTableModel",bj="End",ba="__oI",bh="_applyKeepFirstVisibleRowComplete",a="widthChanged",bn="one of one row",A="Home",B="__oz",U="_applyRowHeight",b="F2",c="appear",J="Up",C="%1 rows",D="qx.ui.table.selection.Model",I="one row",W="__oH",bq="PageDown",bp="%1 of %2 rows",Q="keypress",br="changeRowHeight",L="__oA",bl="Number",G="header",H="qx.ui.table.IRowRenderer",N="Right",S="Space";
qx.Class.define(v,{extend:qx.ui.core.Widget,construct:function(bG,bH){qx.ui.core.Widget.call(this);
if(!bH){bH={};
}
if(bH.initiallyHiddenColumns){this.setInitiallyHiddenColumns(bH.initiallyHiddenColumns);
}
if(bH.selectionManager){this.setNewSelectionManager(bH.selectionManager);
}
if(bH.selectionModel){this.setNewSelectionModel(bH.selectionModel);
}
if(bH.tableColumnModel){this.setNewTableColumnModel(bH.tableColumnModel);
}
if(bH.tablePane){this.setNewTablePane(bH.tablePane);
}
if(bH.tablePaneHeader){this.setNewTablePaneHeader(bH.tablePaneHeader);
}
if(bH.tablePaneScroller){this.setNewTablePaneScroller(bH.tablePaneScroller);
}
if(bH.tablePaneModel){this.setNewTablePaneModel(bH.tablePaneModel);
}
if(bH.columnMenu){this.setNewColumnMenu(bH.columnMenu);
}this._setLayout(new qx.ui.layout.VBox());
this.__oz=new qx.ui.container.Composite(new qx.ui.layout.HBox());
this._add(this.__oz,{flex:1});
this.setDataRowRenderer(new qx.ui.table.rowrenderer.Default(this));
this.__oA=this.getNewSelectionManager()(this);
this.setSelectionModel(this.getNewSelectionModel()(this));
this.setTableModel(bG||this.getEmptyTableModel());
this.setMetaColumnCounts([-1]);
this.setTabIndex(1);
this.addListener(Q,this._onKeyPress);
this.addListener(s,this._onFocusChanged);
this.addListener(bw,this._onFocusChanged);
var bI=new qx.ui.core.Widget().set({height:0});
this._add(bI);
bI.addListener(bf,this._onResize,this);
this.__oB=null;
this.__oC=null;
if(qx.core.Variant.isSet(bC,bz)){qx.locale.Manager.getInstance().addListener(bF,this._onChangeLocale,this);
}this.initStatusBarVisible();
bG=this.getTableModel();

if(bG.init&&typeof (bG.init)==g){bG.init(this);
}},events:{"columnVisibilityMenuCreateStart":k,"columnVisibilityMenuCreateEnd":k,"tableWidthChanged":bi,"verticalScrollBarChanged":k,"cellClick":h,"cellDblclick":h,"cellContextmenu":h,"dataEdited":k},statics:{__oD:{cellClick:1,cellDblclick:1,cellContextmenu:1}},properties:{appearance:{refine:true,init:V},focusable:{refine:true,init:true},minWidth:{refine:true,init:50},initiallyHiddenColumns:{init:null},selectable:{refine:true,init:false},selectionModel:{check:D,apply:bu,event:X},tableModel:{check:M,apply:bk,event:bc},rowHeight:{check:bl,init:20,apply:U,event:br},forceLineHeight:{check:o,init:true},headerCellsVisible:{check:o,init:true,apply:y},headerCellHeight:{check:bb,init:16,apply:bs,event:q,nullable:true},statusBarVisible:{check:o,init:true,apply:by},additionalStatusBarText:{nullable:true,init:null,apply:P},columnVisibilityButtonVisible:{check:o,init:true,apply:Y},metaColumnCounts:{check:z,apply:r},focusCellOnMouseMove:{check:o,init:false,apply:R},rowFocusChangeModifiesSelection:{check:o,init:true},showCellFocusIndicator:{check:o,init:true,apply:O},keepFirstVisibleRowComplete:{check:o,init:true,apply:bh},alwaysUpdateCells:{check:o,init:false},resetSelectionOnHeaderClick:{check:o,init:true,apply:u},dataRowRenderer:{check:H,init:null,nullable:true,event:p},modalCellEditorPreOpenFunction:{check:m,init:null,nullable:true},newColumnMenu:{check:m,init:function(){return new qx.ui.table.columnmenu.Button();
}},newSelectionManager:{check:m,init:function(bJ){return new qx.ui.table.selection.Manager(bJ);
}},newSelectionModel:{check:m,init:function(bK){return new qx.ui.table.selection.Model(bK);
}},newTableColumnModel:{check:m,init:function(bL){return new qx.ui.table.columnmodel.Basic(bL);
}},newTablePane:{check:m,init:function(bM){return new qx.ui.table.pane.Pane(bM);
}},newTablePaneHeader:{check:m,init:function(bN){return new qx.ui.table.pane.Header(bN);
}},newTablePaneScroller:{check:m,init:function(bO){return new qx.ui.table.pane.Scroller(bO);
}},newTablePaneModel:{check:m,init:function(bP){return new qx.ui.table.pane.Model(bP);
}}},members:{__oB:null,__oC:null,__oz:null,__oA:null,__oE:null,__oF:null,__oG:null,__oH:null,__oI:null,__oJ:null,_createChildControlImpl:function(bQ,bR){var bS;

switch(bQ){case j:bS=new qx.ui.basic.Label();
bS.set({allowGrowX:true});
this._add(bS);
break;
case n:bS=this.getNewColumnMenu()();
bS.set({focusable:false});
var bT=bS.factory(K,{table:this});
bT.addListener(c,this._initColumnMenu,this);
break;
}return bS||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bQ);
},_applySelectionModel:function(bU,bV){this.__oA.setSelectionModel(bU);

if(bV!=null){bV.removeListener(bE,this._onSelectionChanged,this);
}bU.addListener(bE,this._onSelectionChanged,this);
},_applyRowHeight:function(bW,bX){var bY=this._getPaneScrollerArr();

for(var i=0;i<bY.length;i++){bY[i].updateVerScrollBarMaximum();
}},_applyHeaderCellsVisible:function(ca,cb){var cc=this._getPaneScrollerArr();

for(var i=0;i<cc.length;i++){cc[i]._excludeChildControl(G);
}},_applyHeaderCellHeight:function(cd,ce){var cf=this._getPaneScrollerArr();

for(var i=0;i<cf.length;i++){cf[i].getHeader().setHeight(cd);
}},getEmptyTableModel:function(){if(!this.__oJ){this.__oJ=new qx.ui.table.model.Simple();
this.__oJ.setColumns([]);
this.__oJ.setData([]);
}return this.__oJ;
},_applyTableModel:function(cg,ch){this.getTableColumnModel().init(cg.getColumnCount(),this);

if(ch!=null){ch.removeListener(bA,this._onTableModelMetaDataChanged,this);
ch.removeListener(e,this._onTableModelDataChanged,this);
}cg.addListener(bA,this._onTableModelMetaDataChanged,this);
cg.addListener(e,this._onTableModelDataChanged,this);
this._updateStatusBar();
this._updateTableData(0,cg.getRowCount(),0,cg.getColumnCount());
this._onTableModelMetaDataChanged();
if(ch&&cg.init&&typeof (cg.init)==g){cg.init(this);
}},getTableColumnModel:function(){if(!this.__oI){var cl=this.__oI=this.getNewTableColumnModel()(this);
cl.addListener(bm,this._onColVisibilityChanged,this);
cl.addListener(a,this._onColWidthChanged,this);
cl.addListener(bv,this._onColOrderChanged,this);
var ck=this.getTableModel();
cl.init(ck.getColumnCount(),this);
var ci=this._getPaneScrollerArr();

for(var i=0;i<ci.length;i++){var cj=ci[i];
var cm=cj.getTablePaneModel();
cm.setTableColumnModel(cl);
}}return this.__oI;
},_applyStatusBarVisible:function(cn,co){if(cn){this._showChildControl(j);
}else{this._excludeChildControl(j);
}
if(cn){this._updateStatusBar();
}},_applyAdditionalStatusBarText:function(cp,cq){this.__oE=cp;
this._updateStatusBar();
},_applyColumnVisibilityButtonVisible:function(cr,cs){if(cr){this._showChildControl(n);
}else{this._excludeChildControl(n);
}},_applyMetaColumnCounts:function(ct,cu){var cB=ct;
var cv=this._getPaneScrollerArr();
var cz={};

if(ct>cu){var cD=qx.event.Registration.getManager(cv[0]);

for(var cE in qx.ui.table.Table.__oD){cz[cE]={};
cz[cE].capture=cD.getListeners(cv[0],cE,true);
cz[cE].bubble=cD.getListeners(cv[0],cE,false);
}}this._cleanUpMetaColumns(cB.length);
var cA=0;

for(var i=0;i<cv.length;i++){var cF=cv[i];
var cC=cF.getTablePaneModel();
cC.setFirstColumnX(cA);
cC.setMaxColumnCount(cB[i]);
cA+=cB[i];
}if(cB.length>cv.length){var cy=this.getTableColumnModel();

for(var i=cv.length;i<cB.length;i++){var cC=this.getNewTablePaneModel()(cy);
cC.setFirstColumnX(cA);
cC.setMaxColumnCount(cB[i]);
cA+=cB[i];
var cF=this.getNewTablePaneScroller()(this);
cF.setTablePaneModel(cC);
cF.addListener(bd,this._onScrollY,this);
for(cE in qx.ui.table.Table.__oD){if(!cz[cE]){break;
}
if(cz[cE].capture&&cz[cE].capture.length>0){var cw=cz[cE].capture;

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

if(!cx){cx=this;
}else if(cx==cv[0]){cx=cF;
}cF.addListener(cE,cw[i].handler,cx,true);
}}
if(cz[cE].bubble&&cz[cE].bubble.length>0){var cH=cz[cE].bubble;

for(var i=0;i<cH.length;i++){var cx=cH[i].context;

if(!cx){cx=this;
}else if(cx==cv[0]){cx=cF;
}cF.addListener(cE,cH[i].handler,cx,false);
}}}var cG=(i==cB.length-1)?1:0;
this.__oz.add(cF,{flex:cG});
cv=this._getPaneScrollerArr();
}}for(var i=0;i<cv.length;i++){var cF=cv[i];
var cI=(i==(cv.length-1));
cF.getHeader().setHeight(this.getHeaderCellHeight());
cF.setTopRightWidget(cI?this.getChildControl(n):null);
}
if(!this.isColumnVisibilityButtonVisible()){this._excludeChildControl(n);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_applyFocusCellOnMouseMove:function(cJ,cK){var cL=this._getPaneScrollerArr();

for(var i=0;i<cL.length;i++){cL[i].setFocusCellOnMouseMove(cJ);
}},_applyShowCellFocusIndicator:function(cM,cN){var cO=this._getPaneScrollerArr();

for(var i=0;i<cO.length;i++){cO[i].setShowCellFocusIndicator(cM);
}},_applyKeepFirstVisibleRowComplete:function(cP,cQ){var cR=this._getPaneScrollerArr();

for(var i=0;i<cR.length;i++){cR[i].onKeepFirstVisibleRowCompleteChanged();
}},_applyResetSelectionOnHeaderClick:function(cS,cT){var cU=this._getPaneScrollerArr();

for(var i=0;i<cU.length;i++){cU[i].setResetSelectionOnHeaderClick(cS);
}},getSelectionManager:function(){return this.__oA;
},_getPaneScrollerArr:function(){return this.__oz.getChildren();
},getPaneScroller:function(cV){return this._getPaneScrollerArr()[cV];
},_cleanUpMetaColumns:function(cW){var cX=this._getPaneScrollerArr();

if(cX!=null){for(var i=cX.length-1;i>=cW;i--){cX[i].destroy();
}}},_onChangeLocale:function(cY){this.updateContent();
this._updateStatusBar();
},_onSelectionChanged:function(da){var db=this._getPaneScrollerArr();

for(var i=0;i<db.length;i++){db[i].onSelectionChanged();
}this._updateStatusBar();
},_onTableModelMetaDataChanged:function(dc){var dd=this._getPaneScrollerArr();

for(var i=0;i<dd.length;i++){dd[i].onTableModelMetaDataChanged();
}this._updateStatusBar();
},_onTableModelDataChanged:function(de){var df=de.getData();
this._updateTableData(df.firstRow,df.lastRow,df.firstColumn,df.lastColumn,df.removeStart,df.removeCount);
},_updateTableData:function(dg,dh,di,dj,dk,dl){var dm=this._getPaneScrollerArr();
if(dl){this.getSelectionModel().removeSelectionInterval(dk,dk+dl);
if(this.__oC>=dk&&this.__oC<(dk+dl)){this.setFocusedCell();
}}
for(var i=0;i<dm.length;i++){dm[i].onTableModelDataChanged(dg,dh,di,dj);
}var dn=this.getTableModel().getRowCount();

if(dn!=this.__oF){this.__oF=dn;
this._updateScrollBarVisibility();
this._updateStatusBar();
}},_onScrollY:function(dp){if(!this.__oG){this.__oG=true;
var dq=this._getPaneScrollerArr();

for(var i=0;i<dq.length;i++){dq[i].setScrollY(dp.getData());
}this.__oG=false;
}},_onKeyPress:function(dr){if(!this.getEnabled()){return;
}var dy=this.__oC;
var dv=true;
var dz=dr.getKeyIdentifier();

if(this.isEditing()){if(dr.getModifiers()==0){switch(dz){case bB:this.stopEditing();
var dy=this.__oC;
this.moveFocusedCell(0,1);

if(this.__oC!=dy){dv=this.startEditing();
}break;
case E:this.cancelEditing();
this.focus();
break;
default:dv=false;
break;
}}}else{if(dr.isCtrlPressed()){dv=true;

switch(dz){case F:var dw=this.getTableModel().getRowCount();

if(dw>0){this.getSelectionModel().setSelectionInterval(0,dw-1);
}break;
default:dv=false;
break;
}}else{switch(dz){case S:this.__oA.handleSelectKeyDown(this.__oC,dr);
break;
case b:case bB:this.startEditing();
dv=true;
break;
case A:this.setFocusedCell(this.__oB,0,true);
break;
case bj:var dw=this.getTableModel().getRowCount();
this.setFocusedCell(this.__oB,dw-1,true);
break;
case T:this.moveFocusedCell(-1,0);
break;
case N:this.moveFocusedCell(1,0);
break;
case J:this.moveFocusedCell(0,-1);
break;
case bg:this.moveFocusedCell(0,1);
break;
case f:case bq:var du=this.getPaneScroller(0);
var dx=du.getTablePane();
var dt=this.getRowHeight();
var ds=(dz==f)?-1:1;
dw=dx.getVisibleRowCount()-1;
du.setScrollY(du.getScrollY()+ds*dw*dt);
this.moveFocusedCell(0,ds*dw);
break;
default:dv=false;
}}}
if(dy!=this.__oC&&this.getRowFocusChangeModifiesSelection()){this.__oA.handleMoveKeyDown(this.__oC,dr);
}
if(dv){dr.preventDefault();
dr.stopPropagation();
}},_onFocusChanged:function(dA){var dB=this._getPaneScrollerArr();

for(var i=0;i<dB.length;i++){dB[i].onFocusChanged();
}},_onColVisibilityChanged:function(dC){var dD=this._getPaneScrollerArr();

for(var i=0;i<dD.length;i++){dD[i].onColVisibilityChanged();
}var dE=dC.getData();

if(this.__oH!=null&&dE.col!=null&&dE.visible!=null){this.__oH[dE.col].setVisible(dE.visible);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_onColWidthChanged:function(dF){var dG=this._getPaneScrollerArr();

for(var i=0;i<dG.length;i++){var dH=dF.getData();
dG[i].setColumnWidth(dH.col,dH.newWidth);
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},_onColOrderChanged:function(dI){var dJ=this._getPaneScrollerArr();

for(var i=0;i<dJ.length;i++){dJ[i].onColOrderChanged();
}this._updateScrollerWidths();
this._updateScrollBarVisibility();
},getTablePaneScrollerAtPageX:function(dK){var dL=this._getMetaColumnAtPageX(dK);
return (dL!=-1)?this.getPaneScroller(dL):null;
},setFocusedCell:function(dM,dN,dO){if(!this.isEditing()&&(dM!=this.__oB||dN!=this.__oC)){if(dM===null){dM=0;
}this.__oB=dM;
this.__oC=dN;
var dP=this._getPaneScrollerArr();

for(var i=0;i<dP.length;i++){dP[i].setFocusedCell(dM,dN);
}
if(dM!==null&&dO){this.scrollCellVisible(dM,dN);
}}},resetSelection:function(){this.getSelectionModel().resetSelection();
},resetCellFocus:function(){this.setFocusedCell(null,null,false);
},getFocusedColumn:function(){return this.__oB;
},getFocusedRow:function(){return this.__oC;
},highlightFocusedRow:function(dQ){this.getDataRowRenderer().setHighlightFocusRow(dQ);
},clearFocusedRowHighlight:function(dR){if(dR){var dT=dR.getRelatedTarget();

if(dT instanceof qx.ui.table.pane.Pane||dT instanceof qx.ui.table.pane.FocusIndicator){return;
}}this.resetCellFocus();
var dS=this._getPaneScrollerArr();

for(var i=0;i<dS.length;i++){dS[i].onFocusChanged();
}},moveFocusedCell:function(dU,dV){var ea=this.__oB;
var eb=this.__oC;

if(ea===null||eb===null){return;
}
if(dU!=0){var dY=this.getTableColumnModel();
var x=dY.getVisibleX(ea);
var dX=dY.getVisibleColumnCount();
x=qx.lang.Number.limit(x+dU,0,dX-1);
ea=dY.getVisibleColumnAtX(x);
}
if(dV!=0){var dW=this.getTableModel();
eb=qx.lang.Number.limit(eb+dV,0,dW.getRowCount()-1);
}this.setFocusedCell(ea,eb,true);
},scrollCellVisible:function(ec,ed){var ee=this.getTableColumnModel();
var x=ee.getVisibleX(ec);
var ef=this._getMetaColumnAtColumnX(x);

if(ef!=-1){this.getPaneScroller(ef).scrollCellVisible(ec,ed);
}},isEditing:function(){if(this.__oB!=null){var x=this.getTableColumnModel().getVisibleX(this.__oB);
var eg=this._getMetaColumnAtColumnX(x);
return this.getPaneScroller(eg).isEditing();
}return false;
},startEditing:function(){if(this.__oB!=null){var x=this.getTableColumnModel().getVisibleX(this.__oB);
var ei=this._getMetaColumnAtColumnX(x);
var eh=this.getPaneScroller(ei).startEditing();
return eh;
}return false;
},stopEditing:function(){if(this.__oB!=null){var x=this.getTableColumnModel().getVisibleX(this.__oB);
var ej=this._getMetaColumnAtColumnX(x);
this.getPaneScroller(ej).stopEditing();
}},cancelEditing:function(){if(this.__oB!=null){var x=this.getTableColumnModel().getVisibleX(this.__oB);
var ek=this._getMetaColumnAtColumnX(x);
this.getPaneScroller(ek).cancelEditing();
}},updateContent:function(){var el=this._getPaneScrollerArr();

for(var i=0;i<el.length;i++){el[i].getTablePane().updateContent(true);
}},blockHeaderElements:function(){var em=this._getPaneScrollerArr();

for(var i=0;i<em.length;i++){em[i].getHeader().getBlocker().blockContent(20);
}this.getChildControl(n).getBlocker().blockContent(20);
},unblockHeaderElements:function(){var en=this._getPaneScrollerArr();

for(var i=0;i<en.length;i++){en[i].getHeader().getBlocker().unblockContent();
}this.getChildControl(n).getBlocker().unblockContent();
},_getMetaColumnAtPageX:function(eo){var ep=this._getPaneScrollerArr();

for(var i=0;i<ep.length;i++){var eq=ep[i].getContainerLocation();

if(eo>=eq.left&&eo<=eq.right){return i;
}}return -1;
},_getMetaColumnAtColumnX:function(er){var et=this.getMetaColumnCounts();
var eu=0;

for(var i=0;i<et.length;i++){var es=et[i];
eu+=es;

if(es==-1||er<eu){return i;
}}return -1;
},_updateStatusBar:function(){var ev=this.getTableModel();

if(this.getStatusBarVisible()){var ew=this.getSelectionModel().getSelectedCount();
var ey=ev.getRowCount();
var ex;

if(ey>=0){if(ew==0){ex=this.trn(I,C,ey,ey);
}else{ex=this.trn(bn,bp,ey,ew,ey);
}}
if(this.__oE){if(ex){ex+=this.__oE;
}else{ex=this.__oE;
}}
if(ex){this.getChildControl(j).setValue(ex);
}}},_updateScrollerWidths:function(){var ez=this._getPaneScrollerArr();

for(var i=0;i<ez.length;i++){var eB=(i==(ez.length-1));
var eC=ez[i].getTablePaneModel().getTotalWidth();
ez[i].setPaneWidth(eC);
var eA=eB?1:0;
ez[i].setLayoutProperties({flex:eA});
}},_updateScrollBarVisibility:function(){if(!this.getBounds()){return;
}var eG=qx.ui.table.pane.Scroller.HORIZONTAL_SCROLLBAR;
var eJ=qx.ui.table.pane.Scroller.VERTICAL_SCROLLBAR;
var eD=this._getPaneScrollerArr();
var eF=false;
var eI=false;

for(var i=0;i<eD.length;i++){var eK=(i==(eD.length-1));
var eE=eD[i].getNeededScrollBars(eF,!eK);

if(eE&eG){eF=true;
}
if(eK&&(eE&eJ)){eI=true;
}}for(var i=0;i<eD.length;i++){var eK=(i==(eD.length-1));
var eH;
eD[i].setHorizontalScrollBarVisible(eF);
if(eK){eH=eD[i].getVerticalScrollBarVisible();
}eD[i].setVerticalScrollBarVisible(eK&&eI);
if(eK&&eI!=eH){this.fireDataEvent(be,eI);
}}},_initColumnMenu:function(){var eN=this.getTableModel();
var eO=this.getTableColumnModel();
var eP=this.getChildControl(n);
eP.empty();
var eM=eP.getMenu();
var eQ={table:this,menu:eM,columnButton:eP};
this.fireDataEvent(bx,eQ);
this.__oH={};

for(var eR=0,l=eN.getColumnCount();eR<l;eR++){var eL=eP.factory(bt,{text:eN.getColumnName(eR),column:eR,bVisible:eO.isColumnVisible(eR)});
qx.core.Assert.assertInterface(eL,qx.ui.table.IColumnMenuItem);
eL.addListener(t,this._createColumnVisibilityCheckBoxHandler(eR),this);
this.__oH[eR]=eL;
}eQ={table:this,menu:eM,columnButton:eP};
this.fireDataEvent(w,eQ);
},_createColumnVisibilityCheckBoxHandler:function(eS){return function(eT){var eU=this.getTableColumnModel();
eU.setColumnVisible(eS,eT.getData());
};
},setColumnWidth:function(eV,eW){this.getTableColumnModel().setColumnWidth(eV,eW);
},_onResize:function(){this.fireEvent(bo);
this._updateScrollerWidths();
this._updateScrollBarVisibility();
},addListener:function(eX,eY,self,fa){if(this.self(arguments).__oD[eX]){var fc=[eX];

for(var i=0,fb=this._getPaneScrollerArr();i<fb.length;i++){fc.push(fb[i].addListener.apply(fb[i],arguments));
}return fc.join(d);
}else{return qx.ui.core.Widget.prototype.addListener.call(this,eX,eY,self,fa);
}},removeListener:function(fd,fe,self,ff){if(this.self(arguments).__oD[fd]){for(var i=0,fg=this._getPaneScrollerArr();i<fg.length;i++){fg[i].removeListener.apply(fg[i],arguments);
}}else{qx.ui.core.Widget.prototype.removeListener.call(this,fd,fe,self,ff);
}},removeListenerById:function(fh){var fl=fh.split(d);
var fk=fl.shift();

if(this.self(arguments).__oD[fk]){var fj=true;

for(var i=0,fi=this._getPaneScrollerArr();i<fi.length;i++){fj=fi[i].removeListenerById.call(fi[i],fl[i])&&fj;
}return fj;
}else{return qx.ui.core.Widget.prototype.removeListenerById.call(this,fh);
}},destroy:function(){this.getChildControl(n).getMenu().destroy();
qx.ui.core.Widget.prototype.destroy.call(this);
}},destruct:function(){if(qx.core.Variant.isSet(bC,bz)){qx.locale.Manager.getInstance().removeListener(bF,this._onChangeLocale,this);
}var fn=this.getSelectionModel();

if(fn){fn.dispose();
}var fm=this.getDataRowRenderer();

if(fm){fm.dispose();
}this._cleanUpMetaColumns(0);
this.getTableColumnModel().dispose();
this._disposeObjects(L,B,bD,bD,ba);
this._disposeMap(W);
}});
})();
(function(){var o="true",n="audio",m="image",h="bool",g="float",f="string",d="time",c="list",b="number",a="int",H="long",G="date",F="application/ogg",E="track.tasks.TaskTable",D="short",C="16/mimetypes/media-audio.png",B="16/apps/preferences-clock.png",A="16/apps/office-calendar.png",z="16/apps/utilities-text-editor.png",y="medium",v="2000-01-06T",w="cellClick",t="48/statusLine/",u="16/apps/media-audio-player.png",r="TimeField",s="DateField",p=" ContainerId: ",q="16/mimetypes/media-image.png",x="16/devices/camera-photo.png";
qx.Class.define(E,{extend:qx.ui.table.Table,construct:function(I,J){tthis=new qx.ui.table.Table();
this.taskTableDef=I;
this.idArr=I.getIdArr();
this.typeArr=I.getTypeArr();
this.labelArr=I.getLabelArr();
this.editableArr=I.getEditableArr();
this.model=new qx.ui.table.model.Simple();
this.model.setColumns(this.labelArr,this.idArr);
this.setData(J);
qx.ui.table.Table.call(this,this.model);
this.tcm=this.getTableColumnModel();
this.setAdditionalStatusBarText(p+I.getContainerId());
var P=this.model.getColumnCount();

if(this.idArr.length==P&&this.typeArr.length==P&&this.labelArr.length==P){this.colCount=P;
}else{this.error("colCount not matching");
this.colCount=0;
}
if(this.typeArr==null||this.typeArr==undefined){this.error("typeArr not defined");
}else{for(var i=0;i<this.colCount;++i){var R=this.typeArr[i];
var M=this.editableArr[i];
var Q=new qx.ui.table.cellrenderer.Default();

if(R==f){Q=new qx.ui.table.cellrenderer.String();

if(M==o){this.tcm.setCellEditorFactory(i,new qx.ui.table.celleditor.TextField());
}}else if(R==b||R==a||R==g||R==H){Q=new qx.ui.table.cellrenderer.Number();
var N=new track.tasks.SpinnerFactory();
this.tcm.setCellEditorFactory(i,N);
}else if(R==h){Q=new qx.ui.table.cellrenderer.Boolean();

if(M==o){this.tcm.setCellEditorFactory(i,new qx.ui.table.celleditor.CheckBox());
}}else if(R==G){Q=new qx.ui.table.cellrenderer.Date();
var L=qx.locale.Date.getDateFormat(y,qx.locale.Manager.getInstance().getLocale());
var O=new qx.util.format.DateFormat(L);
Q.setDateFormat(O);
var N=new track.tasks.DateFieldFactory();
N.setType(s);
this.tcm.setCellEditorFactory(i,N);
this.tcm.setHeaderCellRenderer(i,new qx.ui.table.headerrenderer.Icon(xbGetQxIcon(A)));
}else if(R==d){Q=new qx.ui.table.cellrenderer.Date();
var L=qx.locale.Date.getTimeFormat(D,qx.locale.Manager.getInstance().getLocale());
var O=new qx.util.format.DateFormat(L);
Q.setDateFormat(O);
var N=new track.tasks.DateFieldFactory();
N.setType(r);
this.tcm.setCellEditorFactory(i,N);
this.tcm.setHeaderCellRenderer(i,new qx.ui.table.headerrenderer.Icon(xbGetQxIcon(B)));
}else if(R==c){var N=new qx.ui.table.celleditor.SelectBox();
var K=I.getListArr(i);
N.setListData(K);
this.tcm.setCellEditorFactory(i,N);
}else if(R.indexOf(n)==0||R.indexOf(F)==0){Q=new track.tasks.StaticImageRenderer(16,16,xbGetQxIcon(C));
this.tcm.setHeaderCellRenderer(i,new qx.ui.table.headerrenderer.Icon(xbGetQxIcon(u)));
}else if(R.indexOf(m)==0){Q=new track.tasks.StaticImageRenderer(16,16,xbGetQxIcon(q));
this.tcm.setHeaderCellRenderer(i,new qx.ui.table.headerrenderer.Icon(xbGetQxIcon(x)));
}
if(M==o){this.model.setColumnEditable(i,true);
this.tcm.setHeaderCellRenderer(i,new qx.ui.table.headerrenderer.Icon(xbGetQxIcon(z)));
this.info("col "+i+"is editable");
}this.info("cellrenderer col "+i+"  is: "+Q.toString());
this.tcm.setDataCellRenderer(i,Q);
}}this.addListener(w,function(e){var Y=e.getColumn();
var ba=e.getRow();
var T=this.model.getValue(Y,ba);
var X=this.typeArr[Y];
var V=this.editableArr[Y];

if(X.indexOf(n)==0){var S=net.watchee.playSound(T,this);
var U=new qx.ui.embed.Html(S);
U.setWidth(300);
U.setHeight(32);
var W=new qx.ui.popup.Popup(new qx.ui.layout.VBox());
W.add(U);
W.placeToMouse(e);
W.show();
}else if(X.indexOf(m)==0){var W=new qx.ui.popup.Popup(new qx.ui.layout.VBox());
W.add(new qx.ui.basic.Image(T));
W.placeToMouse(e);
W.show();
}else if(V==o){if(X==h){var T=this.model.getValue(Y,ba);
this.model.setValue(Y,ba,!T);
}else{this.setFocusedCell(Y,ba);
this.startEditing();
}}},this);
},members:{setData:function(bb){var bc=this.taskTableDef.getIdArr();
var bf=this.taskTableDef.getTypeArr();
var bd=new Array();

for(var i=0,l=bb.length;i<l;++i){var be=bb[i];
var bh=new Object();
var bk=false;

for(var j=0,k=bc.length;j<k;++j){var bj=bc[j];

if(bb[i].hasOwnProperty(bj)){var bi=bf[j];

if(bi==f){bh[bj]=be[bj];
}else if(bi==b||bi==a||bi==g||bi==H){bh[bj]=org.xmlBlaster.util.toNumber(be[bj]);
}else if(bi==h){bh[bj]=org.xmlBlaster.util.toBoolean(be[bj]);
}else if(bi==G){bh[bj]=org.xmlBlaster.util.getDateFromIsoDateStr(be[bj]);
}else if(bi==d){bh[bj]=org.xmlBlaster.util.getDateFromIsoDateStr(v+be[bj]);
}else if(bi==c){bh[bj]=be[bj];
}else if(bi==n||bi.indexOf(F)==0){var bg=xbGetSound(be[bj]);
bh[bj]=bg;
this.info("audio: "+bg);
}else if(bi==m){var bg=xbGetIcon(t+be[bj]);
bh[bj]=bg;
this.info("image: "+bg);
}else{bh[bj]=be[bj];
}bk=true;
}}
if(bk)bd.push(bh);
}this.model.setDataAsMapArray(bd);
}}});
})();
(function(){var a="qx.ui.table.IRowRenderer";
qx.Interface.define(a,{members:{updateDataRowElement:function(b,c){},getRowHeightStyle:function(d){},createRowStyle:function(e){},getRowClass:function(f){}}});
})();
(function(){var t="",s="table-row-background-even",r="table-row-background-selected",q="table-row",p="background-color:",o="table-row-background-focused",n=';border-bottom: 1px solid ',m=';color:',l="table-row-selected",k="table-row-background-odd",d="default",j="table-row-background-focused-selected",g="qx.ui.table.rowrenderer.Default",c="table-row-line",b="'",f="height:",e=";",h="px;",a="1px solid ",i="Boolean";
qx.Class.define(g,{extend:qx.core.Object,implement:qx.ui.table.IRowRenderer,construct:function(){qx.core.Object.call(this);
this.__oK=t;
this.__oK={};
this.__oL={};
this._renderFont(qx.theme.manager.Font.getInstance().resolve(d));
var u=qx.theme.manager.Color.getInstance();
this.__oL.bgcolFocusedSelected=u.resolve(j);
this.__oL.bgcolFocused=u.resolve(o);
this.__oL.bgcolSelected=u.resolve(r);
this.__oL.bgcolEven=u.resolve(s);
this.__oL.bgcolOdd=u.resolve(k);
this.__oL.colSelected=u.resolve(l);
this.__oL.colNormal=u.resolve(q);
this.__oL.horLine=u.resolve(c);
},properties:{highlightFocusRow:{check:i,init:true}},members:{__oL:null,__oM:null,__oK:null,_insetY:1,_renderFont:function(v){if(v){this.__oM=v.getStyles();
this.__oK=qx.bom.element.Style.compile(this.__oM);
this.__oK=this.__oK.replace(/"/g,b);
}else{this.__oK=t;
this.__oM=qx.bom.Font.getDefaultStyles();
}},updateDataRowElement:function(w,x){var z=this.__oM;
var y=x.style;
qx.bom.element.Style.setStyles(x,z);

if(w.focusedRow&&this.getHighlightFocusRow()){y.backgroundColor=w.selected?this.__oL.bgcolFocusedSelected:this.__oL.bgcolFocused;
}else{if(w.selected){y.backgroundColor=this.__oL.bgcolSelected;
}else{y.backgroundColor=(w.row%2==0)?this.__oL.bgcolEven:this.__oL.bgcolOdd;
}}y.color=w.selected?this.__oL.colSelected:this.__oL.colNormal;
y.borderBottom=a+this.__oL.horLine;
},getRowHeightStyle:function(A){if(qx.bom.client.Feature.CONTENT_BOX){A-=this._insetY;
}return f+A+h;
},createRowStyle:function(B){var C=[];
C.push(e);
C.push(this.__oK);
C.push(p);

if(B.focusedRow&&this.getHighlightFocusRow()){C.push(B.selected?this.__oL.bgcolFocusedSelected:this.__oL.bgcolFocused);
}else{if(B.selected){C.push(this.__oL.bgcolSelected);
}else{C.push((B.row%2==0)?this.__oL.bgcolEven:this.__oL.bgcolOdd);
}}C.push(m);
C.push(B.selected?this.__oL.colSelected:this.__oL.colNormal);
C.push(n,this.__oL.horLine);
return C.join(t);
},getRowClass:function(D){return t;
},getRowAttributes:function(E){return t;
}},destruct:function(){this.__oL=this.__oM=this.__oK=null;
}});
})();
(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 l="pressed",k="hovered",j="changeVisibility",i="qx.ui.menu.Menu",h="submenu",g="Enter",f="contextmenu",d="changeMenu",c="qx.ui.form.MenuButton",b="abandoned",a="_applyMenu";
qx.Class.define(c,{extend:qx.ui.form.Button,construct:function(m,n,o){qx.ui.form.Button.call(this,m,n);
if(o!=null){this.setMenu(o);
}},properties:{menu:{check:i,nullable:true,apply:a,event:d}},members:{_applyMenu:function(p,q){if(q){q.removeListener(j,this._onMenuChange,this);
q.resetOpener();
}
if(p){p.addListener(j,this._onMenuChange,this);
p.setOpener(this);
p.removeState(h);
p.removeState(f);
}},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(l);
}else{this.removeState(l);
}},_onMouseDown:function(e){qx.ui.form.Button.prototype._onMouseDown.call(this,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(k);
},_onMouseOut:function(e){this.removeState(k);
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case g:this.removeState(b);
this.addState(l);
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 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.__oN=new qx.ui.core.Blocker(this);
},members:{__oO:null,__oN:null,factory:function(g,h){switch(g){case a:var j=new qx.ui.menu.Menu();
this.setMenu(j);
return j;
case f:var m=new qx.ui.table.columnmenu.MenuItem(h.text);
m.setVisible(h.bVisible);
this.getMenu().add(m);
return m;
case c:var k=new qx.ui.menu.Button(h.text);
k.set({appearance:e});
return k;
case d:return new qx.ui.menu.Separator();
default:throw new Error("Unrecognized factory request: "+g);
}},getBlocker:function(){return this.__oN;
},empty:function(){var n=this.getMenu();
var o=n.getChildren();

for(var i=0,l=o.length;i<l;i++){o[0].destroy();
}}},destruct:function(){this.__oN.dispose();
}});
})();
(function(){var t="keypress",s="interval",r="keydown",q="mousedown",p="keyup",o="__oP",n="blur",m="Enter",l="__oR",k="Up",c="Escape",j="qx.ui.menu.Manager",g="Left",b="Down",a="Right",f="__oQ",d="singleton",h="Space";
qx.Class.define(j,{type:d,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__oP=[];
var u=document.body;
var v=qx.event.Registration;
v.addListener(window.document.documentElement,q,this._onMouseDown,this,true);
v.addListener(u,r,this._onKeyUpDown,this,true);
v.addListener(u,p,this._onKeyUpDown,this,true);
v.addListener(u,t,this._onKeyPress,this,true);
if(!qx.bom.client.Feature.TOUCH){qx.bom.Element.addListener(window,n,this.hideAll,this);
}this.__oQ=new qx.event.Timer;
this.__oQ.addListener(s,this._onOpenInterval,this);
this.__oR=new qx.event.Timer;
this.__oR.addListener(s,this._onCloseInterval,this);
},members:{__oS:null,__oT:null,__oQ:null,__oR:null,__oP:null,_getChild:function(w,x,y,z){var A=w.getChildren();
var length=A.length;
var B;

for(var i=x;i<length&&i>=0;i+=y){B=A[i];

if(B.isEnabled()&&!B.isAnonymous()){return B;
}}
if(z){i=i==length?0:length-1;

for(;i!=x;i+=y){B=A[i];

if(B.isEnabled()&&!B.isAnonymous()){return B;
}}}return null;
},_isInMenu:function(C){while(C){if(C instanceof qx.ui.menu.Menu){return true;
}C=C.getLayoutParent();
}return false;
},_getMenuButton:function(D){while(D){if(D instanceof qx.ui.menu.AbstractButton){return D;
}D=D.getLayoutParent();
}return null;
},add:function(E){{};
var F=this.__oP;
F.push(E);
E.setZIndex(1e6+F.length);
},remove:function(G){{};
var H=this.__oP;

if(H){qx.lang.Array.remove(H,G);
}},hideAll:function(){var I=this.__oP;

if(I){for(var i=I.length-1;i>=0;i--){I[i].exclude();
}}},getActiveMenu:function(){var J=this.__oP;
return J.length>0?J[J.length-1]:null;
},scheduleOpen:function(K){this.cancelClose(K);
if(K.isVisible()){if(this.__oS){this.cancelOpen(this.__oS);
}}else if(this.__oS!=K){this.__oS=K;
this.__oQ.restartWith(K.getOpenInterval());
}},scheduleClose:function(L){this.cancelOpen(L);
if(!L.isVisible()){if(this.__oT){this.cancelClose(this.__oT);
}}else if(this.__oT!=L){this.__oT=L;
this.__oR.restartWith(L.getCloseInterval());
}},cancelOpen:function(M){if(this.__oS==M){this.__oQ.stop();
this.__oS=null;
}},cancelClose:function(N){if(this.__oT==N){this.__oR.stop();
this.__oT=null;
}},_onOpenInterval:function(e){this.__oQ.stop();
this.__oS.open();
this.__oS=null;
},_onCloseInterval:function(e){this.__oR.stop();
this.__oT.exclude();
this.__oT=null;
},_onMouseDown:function(e){var O=e.getTarget();
O=qx.ui.core.Widget.getWidgetByElement(O,true);
if(O==null){this.hideAll();
return;
}if(O.getMenu&&O.getMenu()&&O.getMenu().isVisible()){return;
}if(this.__oP.length>0&&!this._isInMenu(O)){this.hideAll();
}},__oU:{"Enter":1,"Space":1},__oV:{"Escape":1,"Up":1,"Down":1,"Left":1,"Right":1},_onKeyUpDown:function(e){var P=this.getActiveMenu();

if(!P){return;
}var Q=e.getKeyIdentifier();

if(this.__oV[Q]||(this.__oU[Q]&&P.getSelectedButton())){e.stopPropagation();
}},_onKeyPress:function(e){var R=this.getActiveMenu();

if(!R){return;
}var S=e.getKeyIdentifier();
var U=this.__oV[S];
var T=this.__oU[S];

if(U){switch(S){case k:this._onKeyPressUp(R);
break;
case b:this._onKeyPressDown(R);
break;
case g:this._onKeyPressLeft(R);
break;
case a:this._onKeyPressRight(R);
break;
case c:this.hideAll();
break;
}e.stopPropagation();
e.preventDefault();
}else if(T){var V=R.getSelectedButton();

if(V){switch(S){case m:this._onKeyPressEnter(R,V,e);
break;
case h:this._onKeyPressSpace(R,V,e);
break;
}e.stopPropagation();
e.preventDefault();
}}},_onKeyPressUp:function(W){var X=W.getSelectedButton();
var Y=W.getChildren();
var bb=X?W.indexOf(X)-1:Y.length-1;
var ba=this._getChild(W,bb,-1,true);
if(ba){W.setSelectedButton(ba);
}else{W.resetSelectedButton();
}},_onKeyPressDown:function(bc){var bd=bc.getSelectedButton();
var bf=bd?bc.indexOf(bd)+1:0;
var be=this._getChild(bc,bf,1,true);
if(be){bc.setSelectedButton(be);
}else{bc.resetSelectedButton();
}},_onKeyPressLeft:function(bg){var bl=bg.getOpener();

if(!bl){return;
}if(bl instanceof qx.ui.menu.AbstractButton){var bi=bl.getLayoutParent();
bi.resetOpenedButton();
bi.setSelectedButton(bl);
}else if(bl instanceof qx.ui.menubar.Button){var bk=bl.getMenuBar().getMenuButtons();
var bh=bk.indexOf(bl);
if(bh===-1){return;
}var bm=null;
var length=bk.length;

for(var i=1;i<=length;i++){var bj=bk[(bh-i+length)%length];

if(bj.isEnabled()){bm=bj;
break;
}}
if(bm&&bm!=bl){bm.open(true);
}}},_onKeyPressRight:function(bn){var bp=bn.getSelectedButton();
if(bp){var bo=bp.getMenu();

if(bo){bn.setOpenedButton(bp);
var bv=this._getChild(bo,0,1);

if(bv){bo.setSelectedButton(bv);
}return;
}}else if(!bn.getOpenedButton()){var bv=this._getChild(bn,0,1);

if(bv){bn.setSelectedButton(bv);

if(bv.getMenu()){bn.setOpenedButton(bv);
}return;
}}var bt=bn.getOpener();
if(bt instanceof qx.ui.menu.Button&&bp){while(bt){bt=bt.getLayoutParent();

if(bt instanceof qx.ui.menu.Menu){bt=bt.getOpener();

if(bt instanceof qx.ui.menubar.Button){break;
}}else{break;
}}
if(!bt){return;
}}if(bt instanceof qx.ui.menubar.Button){var bs=bt.getMenuBar().getMenuButtons();
var bq=bs.indexOf(bt);
if(bq===-1){return;
}var bu=null;
var length=bs.length;

for(var i=1;i<=length;i++){var br=bs[(bq+i)%length];

if(br.isEnabled()){bu=br;
break;
}}
if(bu&&bu!=bt){bu.open(true);
}}},_onKeyPressEnter:function(bw,bx,e){if(bx.hasListener(t)){var by=e.clone();
by.setBubbles(false);
by.setTarget(bx);
bx.dispatchEvent(by);
}this.hideAll();
},_onKeyPressSpace:function(bz,bA,e){if(bA.hasListener(t)){var bB=e.clone();
bB.setBubbles(false);
bB.setTarget(bA);
bA.dispatchEvent(bB);
}}},destruct:function(){var bD=qx.event.Registration;
var bC=document.body;
bD.removeListener(window.document.documentElement,q,this._onMouseDown,this,true);
bD.removeListener(bC,r,this._onKeyUpDown,this,true);
bD.removeListener(bC,p,this._onKeyUpDown,this,true);
bD.removeListener(bC,t,this._onKeyPress,this,true);
this._disposeObjects(f,l);
this._disposeArray(o);
}});
})();
(function(){var l="slidebar",k="Integer",j="resize",h="qx.ui.core.Widget",g="selected",f="visible",d="Boolean",c="mouseout",b="excluded",a="menu",A="_applySelectedButton",z="_applySpacingY",y="_blocker",x="_applyCloseInterval",w="_applyBlockerColor",v="_applyIconColumnWidth",u="mouseover",t="_applyArrowColumnWidth",s="qx.ui.menu.Menu",r="Color",p="Number",q="_applyOpenInterval",n="_applySpacingX",o="_applyBlockerOpacity",m="_applyOpenedButton";
qx.Class.define(s,{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 B=this.getApplicationRoot();
B.add(this);
this.addListener(u,this._onMouseOver);
this.addListener(c,this._onMouseOut);
this.addListener(j,this._onResize,this);
B.addListener(j,this._onResize,this);
this._blocker=new qx.ui.core.Blocker(B);
this.initVisibility();
this.initKeepFocus();
this.initKeepActive();
},properties:{appearance:{refine:true,init:a},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},visibility:{refine:true,init:b},keepFocus:{refine:true,init:true},keepActive:{refine:true,init:true},spacingX:{check:k,apply:n,init:0,themeable:true},spacingY:{check:k,apply:z,init:0,themeable:true},iconColumnWidth:{check:k,init:0,themeable:true,apply:v},arrowColumnWidth:{check:k,init:0,themeable:true,apply:t},blockerColor:{check:r,init:null,nullable:true,apply:w,themeable:true},blockerOpacity:{check:p,init:1,apply:o,themeable:true},selectedButton:{check:h,nullable:true,apply:A},openedButton:{check:h,nullable:true,apply:m},opener:{check:h,nullable:true},openInterval:{check:k,themeable:true,init:250,apply:q},closeInterval:{check:k,themeable:true,init:250,apply:x},blockBackground:{check:d,themeable:true,init:false}},members:{__oW:null,__oX:null,_blocker:null,open:function(){if(this.getOpener()!=null){this.placeToWidget(this.getOpener());
this.__pa();
this.show();
this._placementTarget=this.getOpener();
}else{this.warn("The menu instance needs a configured 'opener' widget!");
}},openAtMouse:function(e){this.placeToMouse(e);
this.__pa();
this.show();
this._placementTarget={left:e.getDocumentLeft(),top:e.getDocumentTop()};
},openAtPoint:function(C){this.placeToPoint(C);
this.__pa();
this.show();
this._placementTarget=C;
},addSeparator:function(){this.add(new qx.ui.menu.Separator);
},getColumnSizes:function(){return this._getMenuLayout().getColumnSizes();
},getSelectables:function(){var D=[];
var E=this.getChildren();

for(var i=0;i<E.length;i++){if(E[i].isEnabled()){D.push(E[i]);
}}return D;
},_applyIconColumnWidth:function(F,G){this._getMenuLayout().setIconColumnWidth(F);
},_applyArrowColumnWidth:function(H,I){this._getMenuLayout().setArrowColumnWidth(H);
},_applySpacingX:function(J,K){this._getMenuLayout().setColumnSpacing(J);
},_applySpacingY:function(L,M){this._getMenuLayout().setSpacing(L);
},_applyVisibility:function(N,O){qx.ui.core.Widget.prototype._applyVisibility.call(this,N,O);
var P=qx.ui.menu.Manager.getInstance();

if(N===f){P.add(this);
var Q=this.getParentMenu();

if(Q){Q.setOpenedButton(this.getOpener());
}}else if(O===f){P.remove(this);
var Q=this.getParentMenu();

if(Q&&Q.getOpenedButton()==this.getOpener()){Q.resetOpenedButton();
}this.resetOpenedButton();
this.resetSelectedButton();
}this.__oY();
},__oY:function(){if(this.isVisible()){if(this.getBlockBackground()){var R=this.getZIndex();
this._blocker.blockContent(R-1);
}}else{if(this._blocker.isContentBlocked()){this._blocker.unblockContent();
}}},getParentMenu:function(){var S=this.getOpener();

if(!S||!(S instanceof qx.ui.menu.AbstractButton)){return null;
}
while(S&&!(S instanceof qx.ui.menu.Menu)){S=S.getLayoutParent();
}return S;
},_applySelectedButton:function(T,U){if(U){U.removeState(g);
}
if(T){T.addState(g);
}},_applyOpenedButton:function(V,W){if(W){W.getMenu().exclude();
}
if(V){V.getMenu().open();
}},_applyBlockerColor:function(X,Y){this._blocker.setColor(X);
},_applyBlockerOpacity:function(ba,bb){this._blocker.setOpacity(ba);
},getChildrenContainer:function(){return this.getChildControl(l,true)||this;
},_createChildControlImpl:function(bc,bd){var be;

switch(bc){case l:var be=new qx.ui.menu.MenuSlideBar();
var bg=this._getLayout();
this._setLayout(new qx.ui.layout.Grow());
var bf=be.getLayout();
be.setLayout(bg);
bf.dispose();
var bh=qx.lang.Array.clone(this.getChildren());

for(var i=0;i<bh.length;i++){be.add(bh[i]);
}this.removeListener(j,this._onResize,this);
be.getChildrenContainer().addListener(j,this._onResize,this);
this._add(be);
break;
}return be||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bc);
},_getMenuLayout:function(){if(this.hasChildControl(l)){return this.getChildControl(l).getChildrenContainer().getLayout();
}else{return this._getLayout();
}},_getMenuBounds:function(){if(this.hasChildControl(l)){return this.getChildControl(l).getChildrenContainer().getBounds();
}else{return this.getBounds();
}},_computePlacementSize:function(){return this._getMenuBounds();
},__pa:function(){var bj=this._getMenuBounds();

if(!bj){this.addListenerOnce(j,this.__pa,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(bl){if(this.hasChildControl(l)){return bl.call(this);
}this.__oX=bl;
qx.ui.core.queue.Widget.add(this);
},syncWidget:function(){this.getChildControl(l);

if(this.__oX){this.__oX.call(this);
delete this.__oX;
}},_onResize:function(){if(this.isVisible()){var bm=this._placementTarget;

if(!bm){return;
}else if(bm instanceof qx.ui.core.Widget){this.placeToWidget(bm);
}else if(bm.top!==undefined){this.placeToPoint(bm);
}else{throw new Error("Unknown target: "+bm);
}this.__pa();
}},_onMouseOver:function(e){var bo=qx.ui.menu.Manager.getInstance();
bo.cancelClose(this);
var bp=e.getTarget();

if(bp.isEnabled()&&bp instanceof qx.ui.menu.AbstractButton){this.setSelectedButton(bp);
var bn=bp.getMenu&&bp.getMenu();

if(bn){bn.setOpener(bp);
bo.scheduleOpen(bn);
this.__oW=bn;
}else{var bq=this.getOpenedButton();

if(bq){bo.scheduleClose(bq.getMenu());
}
if(this.__oW){bo.cancelOpen(this.__oW);
this.__oW=null;
}}}else if(!this.getOpenedButton()){this.resetSelectedButton();
}},_onMouseOut:function(e){var br=qx.ui.menu.Manager.getInstance();
if(!qx.ui.core.Widget.contains(this,e.getRelatedTarget())){var bs=this.getOpenedButton();
bs?this.setSelectedButton(bs):this.resetSelectedButton();
if(bs){br.cancelClose(bs.getMenu());
}if(this.__oW){br.cancelOpen(this.__oW);
}}}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){qx.ui.menu.Manager.getInstance().remove(this);
}this.getApplicationRoot().removeListener(j,this._onResize,this);
this._placementTarget=null;
this._disposeObjects(y);
}});
})();
(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:{__pb:null,_computeSizeHint:function(){var q=this._getLayoutChildren();
var o,g,j;
var e=this.getSpanColumn();
var h=this.__pb=[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.__pb||null;
}},destruct:function(){this.__pb=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 t="icon",s="label",r="arrow",q="shortcut",p="changeLocale",o="qx.dynlocale",n="submenu",m="on",l="String",k="qx.ui.menu.Menu",d="qx.ui.menu.AbstractButton",j="keypress",h="",c="_applyIcon",b="mouseup",g="abstract",f="_applyLabel",i="_applyMenu",a="changeCommand";
qx.Class.define(d,{extend:qx.ui.core.Widget,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],type:g,construct:function(){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.menu.ButtonLayout);
this.addListener(b,this._onMouseUp);
this.addListener(j,this._onKeyPress);
this.addListener(a,this._onChangeCommand,this);
},properties:{blockToolTip:{refine:true,init:true},label:{check:l,apply:f,nullable:true},menu:{check:k,apply:i,nullable:true,dereference:true},icon:{check:l,apply:c,themeable:true,nullable:true}},members:{_createChildControlImpl:function(u,v){var w;

switch(u){case t:w=new qx.ui.basic.Image;
w.setAnonymous(true);
this._add(w,{column:0});
break;
case s:w=new qx.ui.basic.Label;
w.setAnonymous(true);
this._add(w,{column:1});
break;
case q:w=new qx.ui.basic.Label;
w.setAnonymous(true);
this._add(w,{column:2});
break;
case r:w=new qx.ui.basic.Image;
w.setAnonymous(true);
this._add(w,{column:3});
break;
}return w||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,u);
},_forwardStates:{selected:1},getChildrenSizes:function(){var x=0,y=0,z=0,D=0;

if(this._isChildControlVisible(t)){var E=this.getChildControl(t);
x=E.getMarginLeft()+E.getSizeHint().width+E.getMarginRight();
}
if(this._isChildControlVisible(s)){var B=this.getChildControl(s);
y=B.getMarginLeft()+B.getSizeHint().width+B.getMarginRight();
}
if(this._isChildControlVisible(q)){var A=this.getChildControl(q);
z=A.getMarginLeft()+A.getSizeHint().width+A.getMarginRight();
}
if(this._isChildControlVisible(r)){var C=this.getChildControl(r);
D=C.getMarginLeft()+C.getSizeHint().width+C.getMarginRight();
}return [x,y,z,D];
},_onMouseUp:function(e){},_onKeyPress:function(e){},_onChangeCommand:function(e){var H=e.getData();

if(qx.core.Variant.isSet(o,m)){var F=e.getOldData();

if(!F){qx.locale.Manager.getInstance().addListener(p,this._onChangeLocale,this);
}
if(!H){qx.locale.Manager.getInstance().removeListener(p,this._onChangeLocale,this);
}}var G=H!=null?H.toString():h;
this.getChildControl(q).setValue(G);
},_onChangeLocale:qx.core.Variant.select(o,{"on":function(e){var I=this.getCommand();

if(I!=null){this.getChildControl(q).setValue(I.toString());
}},"off":null}),_applyIcon:function(J,K){if(J){this._showChildControl(t).setSource(J);
}else{this._excludeChildControl(t);
}},_applyLabel:function(L,M){if(L){this._showChildControl(s).setValue(L);
}else{this._excludeChildControl(s);
}},_applyMenu:function(N,O){if(O){O.resetOpener();
O.removeState(n);
}
if(N){this._showChildControl(r);
N.setOpener(this);
N.addState(n);
}else{this._excludeChildControl(r);
}}},destruct:function(){if(this.getMenu()){if(!qx.core.ObjectRegistry.inShutDown){this.getMenu().destroy();
}}
if(qx.core.Variant.isSet(o,m)){qx.locale.Manager.getInstance().removeListener(p,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(d,e){var q=this._getLayoutChildren();
var p;
var g;
var h=[];

for(var i=0,l=q.length;i<l;i++){p=q[i];
g=p.getLayoutProperties().column;
h[g]=p;
}var o=this.__pc(q[0]);
var r=o.getColumnSizes();
var k=o.getSpacingX();
var j=qx.lang.Array.sum(r)+k*(r.length-1);

if(j<d){r[1]+=d-j;
}var s=0,top=0;
var m=qx.ui.layout.Util;

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

if(p){var f=p.getSizeHint();
var top=m.computeVerticalAlignOffset(p.getAlignY()||c,f.height,e,0,0);
var n=m.computeHorizontalAlignOffset(p.getAlignX()||a,f.width,r[i],p.getMarginLeft(),p.getMarginRight());
p.renderLayout(s+n,top,f.width,f.height);
}s+=r[i]+k;
}},__pc:function(t){while(!(t instanceof qx.ui.menu.Menu)){t=t.getLayoutParent();
}return t;
},_computeSizeHint:function(){var w=this._getLayoutChildren();
var v=0;
var x=0;

for(var i=0,l=w.length;i<l;i++){var u=w[i].getSizeHint();
x+=u.width;
v=Math.max(v,u.height);
}return {width:x,height:v};
}}});
})();
(function(){var q="horizontal",p="scrollpane",o="vertical",n="button-backward",m="button-forward",l="content",k="execute",j="qx.ui.container.SlideBar",i="scrollY",h="removeChildWidget",c="scrollX",g="_applyOrientation",f="mousewheel",b="Integer",a="slidebar",d="update";
qx.Class.define(j,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.core.MRemoteLayoutHandling],construct:function(r){qx.ui.core.Widget.call(this);
var s=this.getChildControl(p);
this._add(s,{flex:1});

if(r!=null){this.setOrientation(r);
}else{this.initOrientation();
}this.addListener(f,this._onMouseWheel,this);
},properties:{appearance:{refine:true,init:a},orientation:{check:[q,o],init:q,apply:g},scrollStep:{check:b,init:15,themeable:true}},members:{getChildrenContainer:function(){return this.getChildControl(l);
},_createChildControlImpl:function(t,u){var v;

switch(t){case m:v=new qx.ui.form.RepeatButton;
v.addListener(k,this._onExecuteForward,this);
v.setFocusable(false);
this._addAt(v,2);
break;
case n:v=new qx.ui.form.RepeatButton;
v.addListener(k,this._onExecuteBackward,this);
v.setFocusable(false);
this._addAt(v,0);
break;
case l:v=new qx.ui.container.Composite();
if(qx.bom.client.Engine.GECKO){v.addListener(h,this._onRemoveChild,this);
}this.getChildControl(p).add(v);
break;
case p:v=new qx.ui.core.scroll.ScrollPane();
v.addListener(d,this._onResize,this);
v.addListener(c,this._onScroll,this);
v.addListener(i,this._onScroll,this);
break;
}return v||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,t);
},_forwardStates:{barLeft:true,barTop:true,barRight:true,barBottom:true},scrollBy:function(w){var x=this.getChildControl(p);

if(this.getOrientation()===q){x.scrollByX(w);
}else{x.scrollByY(w);
}},scrollTo:function(y){var z=this.getChildControl(p);

if(this.getOrientation()===q){z.scrollToX(y);
}else{z.scrollToY(y);
}},_applyOrientation:function(A,B){var E=[this.getLayout(),this._getLayout()];
var D=this.getChildControl(m);
var C=this.getChildControl(n);
if(B==o){D.removeState(o);
C.removeState(o);
D.addState(q);
C.addState(q);
}else if(B==q){D.removeState(q);
C.removeState(q);
D.addState(o);
C.addState(o);
}
if(A==q){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(E[0]){E[0].dispose();
}
if(E[1]){E[1].dispose();
}},_onMouseWheel:function(e){this.scrollBy(e.getWheelDelta()*this.getScrollStep());
e.stop();
},_onScroll:function(){this._updateArrowsEnabled();
},_onResize:function(e){var content=this.getChildControl(p).getChildren()[0];

if(!content){return;
}var F=this.getInnerSize();
var H=content.getBounds();
var G=(this.getOrientation()===q)?H.width>F.width:H.height>F.height;

if(G){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(p).getScrollX());
},this,50);
},_updateArrowsEnabled:function(){var J=this.getChildControl(p);

if(this.getOrientation()===q){var I=J.getScrollX();
var K=J.getScrollMaxX();
}else{var I=J.getScrollY();
var K=J.getScrollMaxY();
}this.getChildControl(n).setEnabled(I>0);
this.getChildControl(m).setEnabled(I<K);
},_showArrows:function(){this._showChildControl(m);
this._showChildControl(n);
},_hideArrows:function(){this._excludeChildControl(m);
this._excludeChildControl(n);
this.scrollTo(0);
}}});
})();
(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,h){var i;

switch(g){case c:i=new qx.ui.form.HoverButton();
i.addListener(f,this._onExecuteForward,this);
this._addAt(i,2);
break;
case e:i=new qx.ui.form.HoverButton();
i.addListener(f,this._onExecuteBackward,this);
this._addAt(i,0);
break;
}return i||qx.ui.container.SlideBar.prototype._createChildControlImpl.call(this,g);
}}});
})();
(function(){var i="Integer",h="hovered",g="hover-button",f="__pd",d="interval",c="mouseover",b="mouseout",a="qx.ui.form.HoverButton";
qx.Class.define(a,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IExecutable],construct:function(j,k){qx.ui.basic.Atom.call(this,j,k);
this.addListener(c,this._onMouseOver,this);
this.addListener(b,this._onMouseOut,this);
this.__pd=new qx.event.AcceleratingTimer();
this.__pd.addListener(d,this._onInterval,this);
},properties:{appearance:{refine:true,init:g},interval:{check:i,init:80},firstInterval:{check:i,init:200},minTimer:{check:i,init:20},timerDecrease:{check:i,init:2}},members:{__pd:null,_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.__pd.set({interval:this.getInterval(),firstInterval:this.getFirstInterval(),minimum:this.getMinTimer(),decrease:this.getTimerDecrease()}).start();
this.addState(h);
},_onMouseOut:function(e){this.__pd.stop();
this.removeState(h);

if(!this.isEnabled()||e.getTarget()!==this){return;
}},_onInterval:function(){if(this.isEnabled()){this.execute();
}else{this.__pd.stop();
}}},destruct:function(){this._disposeObjects(f);
}});
})();
(function(){var h="pressed",g="hovered",f="inherit",d="qx.ui.menubar.Button",c="keydown",b="menubar-button",a="keyup";
qx.Class.define(d,{extend:qx.ui.form.MenuButton,construct:function(i,j,k){qx.ui.form.MenuButton.call(this,i,j,k);
this.removeListener(c,this._onKeyDown);
this.removeListener(a,this._onKeyUp);
},properties:{appearance:{refine:true,init:b},show:{refine:true,init:f},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(h);
if(menubar){menubar.setOpenMenu(m);
}}else{this.removeState(h);
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(h)){this.addState(h);
}},_onMouseOver:function(e){this.addState(g);
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 w="visible",v="excluded",u="resize",t="qx.event.type.Data",s="both",r="qx.ui.menu.Menu",q="_applySpacing",p="showItem",o="Boolean",n="icon",d="label",m="qx.ui.core.Widget",h="_applyOverflowIndicator",c="_applyOverflowHandling",b="changeShow",g="Integer",f="qx.ui.toolbar.ToolBar",j="hideItem",a="toolbar",k="changeOpenMenu";
qx.Class.define(f,{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());
this.__pe=[];
this.__pf=[];
},properties:{appearance:{refine:true,init:a},openMenu:{check:r,event:k,nullable:true},show:{init:s,check:[s,d,n],inheritable:true,event:b},spacing:{nullable:true,check:g,themeable:true,apply:q},overflowIndicator:{check:m,nullable:true,apply:h},overflowHandling:{init:false,check:o,apply:c}},events:{"hideItem":t,"showItem":t},members:{__pe:null,__pf:null,_computeSizeHint:function(){var z=qx.ui.core.Widget.prototype._computeSizeHint.call(this);

if(true&&this.getOverflowHandling()){var x=0;
var y=this.getOverflowIndicator();

if(y){x=y.getSizeHint().width+this.getSpacing();
}z.minWidth=x;
}return z;
},_onResize:function(e){this._recalculateOverflow(e.getData().width);
},_recalculateOverflow:function(A){if(!this.getOverflowHandling()){return;
}var C=this.getSizeHint().width;
var B=this.getOverflowIndicator();
var F=0;

if(B){F=B.getSizeHint().width;
}if(A<C){do{var G=this._getNextToHide();
if(!G){return;
}var H=G.getMarginLeft()+G.getMarginRight();
var E=G.getSizeHint().width+H;
this.__ph(G);
C-=E;
if(B&&B.getVisibility()!=w){B.setVisibility(w);
C+=F;
}}while(C>A);
}else{do{var I=this.__pe[0];
if(I){var H=I.getMarginLeft()+I.getMarginRight();
var D=I.getSizeHint().width+H;
if(A>C+D+this.getSpacing()||(this.__pe.length==1&&A>C+D-F+this.getSpacing())){this.__pg(I);
A+=D;
if(B&&this.__pe.length==0){B.setVisibility(v);
}}else{return;
}}}while(A>=C&&this.__pe.length>0);
}},__pg:function(J){J.setVisibility(w);
this.__pe.shift();
this.fireDataEvent(p,J);
},__ph:function(K){if(!K){return;
}this.__pe.unshift(K);
K.setVisibility(v);
this.fireDataEvent(j,K);
},_getNextToHide:function(){for(var i=this.__pf.length-1;i>=0;i--){var L=this.__pf[i];
if(L&&L.getVisibility&&L.getVisibility()==w){return L;
}}var M=this._getChildren();

for(var i=M.length-1;i>=0;i--){var N=M[i];
if(N==this.getOverflowIndicator()){continue;
}if(N.getVisibility&&N.getVisibility()==w){return N;
}}},setRemovePriority:function(O,P,Q){if(!Q&&this.__pf[P]!=undefined){throw new Error("Priority already in use!");
}this.__pf[P]=O;
},_applyOverflowHandling:function(R,S){this.invalidateLayoutCache();
var parent=this.getLayoutParent();

if(parent){parent.invalidateLayoutCache();
}var U=this.getBounds();

if(U&&U.width){this._recalculateOverflow(U.width);
}if(R){this.addListener(u,this._onResize,this);
}else{this.removeListener(u,this._onResize,this);
var T=this.getOverflowIndicator();

if(T){T.setVisibility(v);
}for(var i=0;i<this.__pe.length;i++){this.__pe[i].setVisibility(w);
}this.__pe=[];
}},_applyOverflowIndicator:function(V,W){if(W){this._remove(W);
}
if(V){if(this._indexOf(V)==-1){throw new Error("Widget must be child of the toolbar.");
}V.setVisibility(v);
}},__pi:false,_setAllowMenuOpenHover:function(X){this.__pi=X;
},_isAllowMenuOpenHover:function(){return this.__pi;
},_applySpacing:function(Y,ba){var bb=this._getLayout();
Y==null?bb.resetSpacing():bb.setSpacing(Y);
},addSpacer:function(){var bc=new qx.ui.core.Spacer;
this._add(bc,{flex:1});
return bc;
},addSeparator:function(){this.add(new qx.ui.toolbar.Separator);
},getMenuButtons:function(){var be=this.getChildren();
var bd=[];
var bf;

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

if(bf instanceof qx.ui.menubar.Button){bd.push(bf);
}else if(bf instanceof qx.ui.toolbar.Part){bd.push.apply(bd,bf.getMenuButtons());
}}return bd;
}},destruct:function(){if(this.hasListener(u)){this.removeListener(u,this._onResize,this);
}}});
})();
(function(){var a="qx.ui.core.Spacer";
qx.Class.define(a,{extend:qx.ui.core.LayoutItem,construct:function(b,c){qx.ui.core.LayoutItem.call(this);
this.setWidth(b!=null?b:0);
this.setHeight(c!=null?c:0);
},members:{checkAppearanceNeeds:function(){},addChildrenToQueue:function(d){},destroy:function(){if(this.$$disposed){return;
}var parent=this.$$parent;

if(parent){parent._remove(this);
}qx.ui.core.queue.Dispose.add(this);
}}});
})();
(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 m="container",k="handle",j="both",h="Integer",g="middle",f="qx.ui.toolbar.Part",e="icon",d="label",c="changeShow",b="_applySpacing",a="toolbar/part";
qx.Class.define(f,{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(k);
},properties:{appearance:{refine:true,init:a},show:{init:j,check:[j,d,e],inheritable:true,event:c},spacing:{nullable:true,check:h,themeable:true,apply:b}},members:{_createChildControlImpl:function(n,o){var p;

switch(n){case k:p=new qx.ui.basic.Image();
p.setAlignY(g);
this._add(p);
break;
case m:p=new qx.ui.toolbar.PartContainer;
this._add(p);
break;
}return p||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,n);
},getChildrenContainer:function(){return this.getChildControl(m);
},_applySpacing:function(q,r){var s=this.getChildControl(m).getLayout();
q==null?s.resetSpacing():s.setSpacing(q);
},addSeparator:function(){this.add(new qx.ui.toolbar.Separator);
},getMenuButtons:function(){var u=this.getChildren();
var t=[];
var v;

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

if(v instanceof qx.ui.menubar.Button){t.push(v);
}}return t;
}}});
})();
(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 b="qx.ui.menu.Button",a="menu-button";
qx.Class.define(b,{extend:qx.ui.menu.AbstractButton,construct:function(c,d,f,g){qx.ui.menu.AbstractButton.call(this);
if(c!=null){this.setLabel(c);
}
if(d!=null){this.setIcon(d);
}
if(f!=null){this.setCommand(f);
}
if(g!=null){this.setMenu(g);
}},properties:{appearance:{refine:true,init:a}},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 b="qx.ui.table.IColumnMenuItem",a="qx.event.type.Data";
qx.Interface.define(b,{properties:{visible:{}},events:{changeVisible:a}});
})();
(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 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 f="changeVisible",d="qx.ui.table.columnmenu.MenuItem",c="_applyVisible",b="Boolean",a="changeValue";
qx.Class.define(d,{extend:qx.ui.menu.CheckBox,implement:qx.ui.table.IColumnMenuItem,properties:{visible:{check:b,init:true,apply:c,event:f}},construct:function(g){qx.ui.menu.CheckBox.call(this,g);
this.addListener(a,function(e){this.bInListener=true;
this.setVisible(e.getData());
this.bInListener=false;
});
},members:{__pj:false,_applyVisible:function(h,i){if(!this.bInListener){this.setValue(h);
}}}});
})();
(function(){var b="qx.ui.table.selection.Model",a="qx.ui.table.selection.Manager";
qx.Class.define(a,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
},properties:{selectionModel:{check:b}},members:{__pk:null,handleMouseDown:function(c,d){if(d.isLeftPressed()){var e=this.getSelectionModel();

if(!e.isSelectedIndex(c)){this._handleSelectEvent(c,d);
this.__pk=true;
}else{this.__pk=false;
}}else if(d.isRightPressed()&&d.getModifiers()==0){var e=this.getSelectionModel();

if(!e.isSelectedIndex(c)){e.setSelectionInterval(c,c);
}}},handleMouseUp:function(f,g){if(g.isLeftPressed()&&!this.__pk){this._handleSelectEvent(f,g);
}},handleClick:function(h,i){},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 l="]",k="..",h="changeSelection",g="_applySelectionMode",f='ie',d="qx.event.type.Event",c="Ranges:",b="qx.ui.table.selection.Model",a=" [";
qx.Class.define(b,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__pl=[];
this.__pm=-1;
this.__pn=-1;
this.hasBatchModeRefCount=0;
this.__po=false;
},events:{"changeSelection":d},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:g}},members:{__po:null,__pm:null,__pn:null,__pl:null,_applySelectionMode:function(m){this.resetSelection();
},setBatchMode:function(n){if(n){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.__po){this.__po=false;
this._fireChangeSelection();
}}return this.hasBatchMode();
},hasBatchMode:function(){return this.hasBatchModeRefCount>0;
},getAnchorSelectionIndex:function(){return this.__pm;
},_setAnchorSelectionIndex:function(o){this.__pm=o;
},getLeadSelectionIndex:function(){return this.__pn;
},_setLeadSelectionIndex:function(p){this.__pn=p;
},_getSelectedRangeArr:function(){return this.__pl;
},resetSelection:function(){if(!this.isSelectionEmpty()){this._resetSelection();
this._fireChangeSelection();
}},isSelectionEmpty:function(){return this.__pl.length==0;
},getSelectedCount:function(){var r=0;

for(var i=0;i<this.__pl.length;i++){var q=this.__pl[i];
r+=q.maxIndex-q.minIndex+1;
}return r;
},isSelectedIndex:function(s){for(var i=0;i<this.__pl.length;i++){var t=this.__pl[i];

if(s>=t.minIndex&&s<=t.maxIndex){return true;
}}return false;
},getSelectedRanges:function(){var u=[];

for(var i=0;i<this.__pl.length;i++){u.push({minIndex:this.__pl[i].minIndex,maxIndex:this.__pl[i].maxIndex});
}return u;
},iterateSelection:function(v,w){for(var i=0;i<this.__pl.length;i++){for(var j=this.__pl[i].minIndex;j<=this.__pl[i].maxIndex;j++){v.call(w,j);
}}},setSelectionInterval:function(x,y){var z=this.self(arguments);

switch(this.getSelectionMode()){case z.NO_SELECTION:return;
case z.SINGLE_SELECTION:if(this.isSelectedIndex(y)){return;
}x=y;
break;
case z.MULTIPLE_INTERVAL_SELECTION_TOGGLE:this.setBatchMode(true);

try{for(var i=x;i<=y;i++){if(!this.isSelectedIndex(i)){this._addSelectionInterval(i,i);
}else{this.removeSelectionInterval(i,i);
}}}catch(e){if(qx.bom.client.Browser.NAME==f&&qx.bom.client.Browser.VERSION<=7){this.setBatchMode(false);
}throw e;
}finally{this.setBatchMode(false);
}this._fireChangeSelection();
return;
}this._resetSelection();
this._addSelectionInterval(x,y);
this._fireChangeSelection();
},addSelectionInterval:function(A,B){var C=qx.ui.table.selection.Model;

switch(this.getSelectionMode()){case C.NO_SELECTION:return;
case C.MULTIPLE_INTERVAL_SELECTION:case C.MULTIPLE_INTERVAL_SELECTION_TOGGLE:this._addSelectionInterval(A,B);
this._fireChangeSelection();
break;
default:this.setSelectionInterval(A,B);
break;
}},removeSelectionInterval:function(D,E){this.__pm=D;
this.__pn=E;
var F=Math.min(D,E);
var H=Math.max(D,E);
for(var i=0;i<this.__pl.length;i++){var J=this.__pl[i];

if(J.minIndex>H){break;
}else if(J.maxIndex>=F){var K=(J.minIndex>=F)&&(J.minIndex<=H);
var I=(J.maxIndex>=F)&&(J.maxIndex<=H);

if(K&&I){this.__pl.splice(i,1);
i--;
}else if(K){J.minIndex=H+1;
}else if(I){J.maxIndex=F-1;
}else{var G={minIndex:H+1,maxIndex:J.maxIndex};
this.__pl.splice(i+1,0,G);
J.maxIndex=F-1;
break;
}}}this._fireChangeSelection();
},_resetSelection:function(){this.__pl=[];
this.__pm=-1;
this.__pn=-1;
},_addSelectionInterval:function(L,M){this.__pm=L;
this.__pn=M;
var N=Math.min(L,M);
var P=Math.max(L,M);
var O=0;

for(;O<this.__pl.length;O++){var Q=this.__pl[O];

if(Q.minIndex>N){break;
}}this.__pl.splice(O,0,{minIndex:N,maxIndex:P});
var R=this.__pl[0];

for(var i=1;i<this.__pl.length;i++){var Q=this.__pl[i];

if(R.maxIndex+1>=Q.minIndex){R.maxIndex=Math.max(R.maxIndex,Q.maxIndex);
this.__pl.splice(i,1);
i--;
}else{R=Q;
}}},_dumpRanges:function(){var S=c;

for(var i=0;i<this.__pl.length;i++){var T=this.__pl[i];
S+=a+T.minIndex+k+T.maxIndex+l;
}this.debug(S);
},_fireChangeSelection:function(){if(this.hasBatchMode()){this.__po=true;
}else{this.fireEvent(h);
}}},destruct:function(){this.__pl=null;
}});
})();
(function(){var a="qx.ui.table.ICellEditorFactory";
qx.Interface.define(a,{members:{createCellEditor:function(b){return true;
},getCellEditorValue:function(c){return true;
}}});
})();
(function(){var f="",e="Function",d="abstract",c="number",b="appear",a="qx.ui.table.celleditor.AbstractField";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,type:d,properties:{validationFunction:{check:e,nullable:true,init:null}},members:{_createEditor:function(){throw new Error("Abstract method call!");
},createCellEditor:function(g){var h=this._createEditor();
h.originalValue=g.value;

if(g.value===null||g.value===undefined){g.value=f;
}h.setValue(f+g.value);
h.addListener(b,function(){h.selectAllText();
});
return h;
},getCellEditorValue:function(i){var k=i.getValue();
var j=this.getValidationFunction();

if(j){k=j(k,i.originalValue);
}
if(typeof i.originalValue==c){k=parseFloat(k);
}return k;
}}});
})();
(function(){var c="number",b="qx.ui.table.celleditor.TextField",a="table-editor-textfield";
qx.Class.define(b,{extend:qx.ui.table.celleditor.AbstractField,members:{getCellEditorValue:function(d){var f=d.getValue();
var e=this.getValidationFunction();

if(e){f=e(f,d.originalValue);
}
if(typeof d.originalValue==c){if(f!=null){f=parseFloat(f);
}}return f;
},_createEditor:function(){var g=new qx.ui.form.TextField();
g.setAppearance(a);
return g;
}}});
})();
(function(){var a="qx.ui.table.IHeaderRenderer";
qx.Interface.define(a,{members:{createHeaderCell:function(b){return true;
},updateHeaderCell:function(c,d){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 j="",i="px;",h=".qooxdoo-table-cell {",g="qooxdoo-table-cell",f='" ',e="nowrap",d="default",c="qx.client",b="}",a="width:",H=".qooxdoo-table-cell-right { text-align:right } ",G="0px 6px",F='<div class="',E="0px",D="height:",C="1px solid ",B=".qooxdoo-table-cell-bold { font-weight:bold } ",A="table-row-line",z="String",y='>',q="mshtml",r='</div>',o="ellipsis",p="content-box",m='left:',n="qx.ui.table.cellrenderer.Abstract",k='" style="',l="abstract",s="none",t="hidden",v="} ",u='px;',x=".qooxdoo-table-cell-italic { font-style:italic} ",w="absolute";
qx.Class.define(n,{type:l,implement:qx.ui.table.ICellRenderer,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
var I=qx.ui.table.cellrenderer.Abstract;

if(!I.__pp){var K=qx.theme.manager.Color.getInstance();
I.__pp=this.self(arguments);
var J=h+
qx.bom.element.Style.compile({position:w,top:E,overflow:t,whiteSpace:e,borderRight:C+K.resolve(A),padding:G,cursor:d,textOverflow:o,userSelect:s})+v+H+x+B;

if(!qx.core.Variant.isSet(c,q)){J+=h+qx.bom.element.BoxSizing.compile(p)+b;
}I.__pp.stylesheet=qx.bom.Stylesheet.createElement(J);
}},properties:{defaultCellStyle:{init:null,check:z,nullable:true}},members:{_insetX:6+6+1,_insetY:0,_getCellClass:function(L){return g;
},_getCellStyle:function(M){return M.style||j;
},_getCellAttributes:function(N){return j;
},_getContentHtml:function(O){return O.value||j;
},_getCellSizeStyle:function(P,Q,R,S){var T=j;

if(qx.bom.client.Feature.CONTENT_BOX){P-=R;
Q-=S;
}T+=a+Math.max(P,0)+i;
T+=D+Math.max(Q,0)+i;
return T;
},createDataCellHtml:function(U,V){V.push(F,this._getCellClass(U),k,m,U.styleLeft,u,this._getCellSizeStyle(U.styleWidth,U.styleHeight,this._insetX,this._insetY),this._getCellStyle(U),f,this._getCellAttributes(U),y+this._getContentHtml(U),r);
}}});
})();
(function(){var h="",g="number",f="Boolean",e="qx.ui.table.cellrenderer.Default",d=" qooxdoo-table-cell-bold",c=" qooxdoo-table-cell-right",b=" qooxdoo-table-cell-italic",a="string";
qx.Class.define(e,{extend:qx.ui.table.cellrenderer.Abstract,statics:{STYLEFLAG_ALIGN_RIGHT:1,STYLEFLAG_BOLD:2,STYLEFLAG_ITALIC:4,_numberFormat:null},properties:{useAutoAlign:{check:f,init:true}},members:{_getStyleFlags:function(i){if(this.getUseAutoAlign()){if(typeof i.value==g){return qx.ui.table.cellrenderer.Default.STYLEFLAG_ALIGN_RIGHT;
}}return 0;
},_getCellClass:function(j){var k=qx.ui.table.cellrenderer.Abstract.prototype._getCellClass.call(this,j);

if(!k){return h;
}var l=this._getStyleFlags(j);

if(l&qx.ui.table.cellrenderer.Default.STYLEFLAG_ALIGN_RIGHT){k+=c;
}
if(l&qx.ui.table.cellrenderer.Default.STYLEFLAG_BOLD){k+=d;
}
if(l&qx.ui.table.cellrenderer.Default.STYLEFLAG_ITALIC){k+=b;
}return k;
},_getContentHtml:function(m){return qx.bom.String.escape(this._formatValue(m));
},_formatValue:function(n){var p=n.value;
var o;

if(p==null){return h;
}
if(typeof p==a){return p;
}else if(typeof p==g){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 o=qx.ui.table.cellrenderer.Default._numberFormat.format(p);
}else if(p instanceof Date){o=qx.util.format.DateFormat.getDateInstance().format(p);
}else{o=p;
}return o;
}}});
})();
(function(){var k="qx.event.type.Data",j="visibilityChanged",h="orderChanged",g="visibilityChangedPre",f="widthChanged",e="qx.ui.table.columnmodel.Basic",d="__px",c="__pv",b="headerCellRendererChanged",a="__pw";
qx.Class.define(e,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
this.__pq=[];
this.__pr=[];
},events:{"widthChanged":k,"visibilityChangedPre":k,"visibilityChanged":k,"orderChanged":k,"headerCellRendererChanged":k},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:{__ps:null,__pt:null,__pr:null,__pq:null,__pu:null,__pv:null,__pw:null,__px:null,init:function(l,m){{};
this.__pu=[];
var q=qx.ui.table.columnmodel.Basic.DEFAULT_WIDTH;
var r=this.__pv||(this.__pv=new qx.ui.table.columnmodel.Basic.DEFAULT_HEADER_RENDERER());
var o=this.__pw||(this.__pw=new qx.ui.table.columnmodel.Basic.DEFAULT_DATA_RENDERER());
var n=this.__px||(this.__px=new qx.ui.table.columnmodel.Basic.DEFAULT_EDITOR_FACTORY());
this.__pq=[];
this.__pr=[];
var t;
if(m){t=m.getInitiallyHiddenColumns();
}t=t||[];

for(var u=0;u<l;u++){this.__pu[u]={width:q,headerRenderer:r,dataRenderer:o,editorFactory:n};
this.__pq[u]=u;
this.__pr[u]=u;
}this.__pt=null;
this.__ps=true;

for(var s=0;s<t.length;s++){this.setColumnVisible(t[s],false);
}this.__ps=false;

for(u=0;u<l;u++){var p={col:u,visible:this.isColumnVisible(u)};
this.fireDataEvent(g,p);
this.fireDataEvent(j,p);
}},getVisibleColumns:function(){return this.__pr!=null?this.__pr:[];
},setColumnWidth:function(v,w,y){{};
var A=this.__pu[v].width;

if(A!=w){this.__pu[v].width=w;
var z={col:v,newWidth:w,oldWidth:A,isMouseAction:y||false};
this.fireDataEvent(f,z);
}},getColumnWidth:function(B){{};
return this.__pu[B].width;
},setHeaderCellRenderer:function(C,D){{};
var E=this.__pu[C].headerRenderer;

if(E!==this.__pv){E.dispose();
}this.__pu[C].headerRenderer=D;
this.fireDataEvent(b,{col:C});
},getHeaderCellRenderer:function(F){{};
return this.__pu[F].headerRenderer;
},setDataCellRenderer:function(G,H){{};
this.__pu[G].dataRenderer=H;
var I=this.__pu[G].dataRenderer;

if(I!==this.__pw){return I;
}return null;
},getDataCellRenderer:function(J){{};
return this.__pu[J].dataRenderer;
},setCellEditorFactory:function(K,L){{};
var M=this.__pu[K].headerRenderer;

if(M!==this.__px){M.dispose();
}this.__pu[K].editorFactory=L;
},getCellEditorFactory:function(N){{};
return this.__pu[N].editorFactory;
},_getColToXPosMap:function(){if(this.__pt==null){this.__pt={};

for(var Q=0;Q<this.__pq.length;Q++){var P=this.__pq[Q];
this.__pt[P]={overX:Q};
}
for(var O=0;O<this.__pr.length;O++){var P=this.__pr[O];
this.__pt[P].visX=O;
}}return this.__pt;
},getVisibleColumnCount:function(){return this.__pr!=null?this.__pr.length:0;
},getVisibleColumnAtX:function(R){{};
return this.__pr[R];
},getVisibleX:function(S){{};
return this._getColToXPosMap()[S].visX;
},getOverallColumnCount:function(){return this.__pq.length;
},getOverallColumnAtX:function(T){{};
return this.__pq[T];
},getOverallX:function(U){{};
return this._getColToXPosMap()[U].overX;
},isColumnVisible:function(V){{};
return (this._getColToXPosMap()[V].visX!=null);
},setColumnVisible:function(W,X){{};

if(X!=this.isColumnVisible(W)){if(X){var be=this._getColToXPosMap();
var bb=be[W].overX;

if(bb==null){throw new Error("Showing column failed: "+W+". The column is not added to this TablePaneModel.");
}var bc;

for(var x=bb+1;x<this.__pq.length;x++){var bd=this.__pq[x];
var Y=be[bd].visX;

if(Y!=null){bc=Y;
break;
}}if(bc==null){bc=this.__pr.length;
}this.__pr.splice(bc,0,W);
}else{var ba=this.getVisibleX(W);
this.__pr.splice(ba,1);
}this.__pt=null;
if(!this.__ps){var bf={col:W,visible:X};
this.fireDataEvent(g,bf);
this.fireDataEvent(j,bf);
}}},moveColumn:function(bg,bh){{};
this.__ps=true;
var bk=this.__pq[bg];
var bi=this.isColumnVisible(bk);

if(bi){this.setColumnVisible(bk,false);
}this.__pq.splice(bg,1);
this.__pq.splice(bh,0,bk);
this.__pt=null;

if(bi){this.setColumnVisible(bk,true);
}this.__ps=false;
var bj={col:bk,fromOverXPos:bg,toOverXPos:bh};
this.fireDataEvent(h,bj);
},setColumnsOrder:function(bl){{};

if(bl.length==this.__pq.length){this.__ps=true;
var bo=new Array(bl.length);

for(var bm=0;bm<this.__pq.length;bm++){var bn=this.isColumnVisible(bm);
bo[bm]=bn;

if(bn){this.setColumnVisible(bm,false);
}}this.__pq=qx.lang.Array.clone(bl);
this.__pt=null;
for(var bm=0;bm<this.__pq.length;bm++){if(bo[bm]){this.setColumnVisible(bm,true);
}}this.__ps=false;
this.fireDataEvent(h);
}else{throw new Error("setColumnsOrder: Invalid number of column positions given, expected "+this.__pq.length+", got "+bl.length);
}}},destruct:function(){for(var i=0;i<this.__pu.length;i++){this.__pu[i].headerRenderer.dispose();
this.__pu[i].dataRenderer.dispose();
this.__pu[i].editorFactory.dispose();
}this.__pq=this.__pr=this.__pu=this.__pt=null;
this._disposeObjects(c,a,d);
}});
})();
(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}},members:{_renderContentElement:function(innerHeight,c){}}});
})();
(function(){var i="icon",h="label",g="String",f="sort-icon",e="_applySortIcon",d="_applyIcon",c="table-header-cell",b="qx.ui.table.headerrenderer.HeaderCell",a="_applyLabel";
qx.Class.define(b,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this);
var j=new qx.ui.layout.Grid();
j.setRowFlex(0,1);
j.setColumnFlex(1,1);
j.setColumnFlex(2,1);
this.setLayout(j);
},properties:{appearance:{refine:true,init:c},label:{check:g,init:null,nullable:true,apply:a},sortIcon:{check:g,init:null,nullable:true,apply:e,themeable:true},icon:{check:g,init:null,nullable:true,apply:d}},members:{_applyLabel:function(k,l){if(k){this._showChildControl(h).setValue(k);
}else{this._excludeChildControl(h);
}},_applySortIcon:function(m,n){if(m){this._showChildControl(f).setSource(m);
}else{this._excludeChildControl(f);
}},_applyIcon:function(o,p){if(o){this._showChildControl(i).setSource(o);
}else{this._excludeChildControl(i);
}},_createChildControlImpl:function(q,r){var s;

switch(q){case h:s=new qx.ui.basic.Label(this.getLabel()).set({anonymous:true,allowShrinkX:true});
this._add(s,{row:0,column:1});
break;
case f:s=new qx.ui.basic.Image(this.getSortIcon());
s.setAnonymous(true);
this._add(s,{row:0,column:2});
break;
case i:s=new qx.ui.basic.Image(this.getIcon()).set({anonymous:true,allowShrinkX:true});
this._add(s,{row:0,column:0});
break;
}return s||qx.ui.container.Composite.prototype._createChildControlImpl.call(this,q);
}}});
})();
(function(){var g="",f="<br",e=" &nbsp;",d="<br>",c=" ",b="\n",a="qx.bom.String";
qx.Class.define(a,{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(h){return qx.util.StringEscape.escape(h,qx.bom.String.FROM_CHARCODE);
},unescape:function(i){return qx.util.StringEscape.unescape(i,qx.bom.String.TO_CHARCODE);
},fromText:function(j){return qx.bom.String.escape(j).replace(/(  |\n)/g,function(k){var l={"  ":e,"\n":d};
return l[k]||k;
});
},toText:function(m){return qx.bom.String.unescape(m.replace(/\s+|<([^>])+>/gi,function(n){if(n.indexOf(f)===0){return b;
}else if(n.length>0&&n.replace(/^\s*/,g).replace(/\s*$/,g)==g){return c;
}else{return g;
}}));
}},defer:function(o){o.FROM_CHARCODE=qx.lang.Object.invert(o.TO_CHARCODE);
}});
})();
(function(){var g=";",f="&",e='X',d="",c='#',b="&#",a="qx.util.StringEscape";
qx.Class.define(a,{statics:{escape:function(h,j){var m,o=d;

for(var i=0,l=h.length;i<l;i++){var n=h.charAt(i);
var k=n.charCodeAt(0);

if(j[k]){m=f+j[k]+g;
}else{if(k>0x7F){m=b+k+g;
}else{m=n;
}}o+=m;
}return o;
},unescape:function(p,q){return p.replace(/&[#\w]+;/gi,function(r){var s=r;
var r=r.substring(1,r.length-1);
var t=q[r];

if(t){s=String.fromCharCode(t);
}else{if(r.charAt(0)==c){if(r.charAt(1).toUpperCase()==e){t=r.substring(2);
if(t.match(/^[0-9A-Fa-f]+$/gi)){s=String.fromCharCode(parseInt(t,16));
}}else{t=r.substring(1);
if(t.match(/^\d+$/gi)){s=String.fromCharCode(parseInt(t,10));
}}}}return s;
});
}}});
})();
(function(){var a="qx.util.format.IFormat";
qx.Interface.define(a,{members:{format:function(b){},parse:function(c){}}});
})();
(function(){var t="",s="Number",r="-",q="0",p="String",o="changeNumberFormat",n='(',m="g",l="Boolean",k="$",d="NaN",j='([0-9]{1,3}(?:',g='{0,1}[0-9]{3}){0,})',c='\\d+){0,1}',b="qx.util.format.NumberFormat",f="Infinity",e="^",h=".",a="-Infinity",i='([-+]){0,1}';
qx.Class.define(b,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(u){qx.core.Object.call(this);
this.__py=u;
},statics:{getIntegerInstance:function(){var v=qx.util.format.NumberFormat;

if(v._integerInstance==null){v._integerInstance=new v();
v._integerInstance.setMaximumFractionDigits(0);
}return v._integerInstance;
},getInstance:function(){if(!this._instance){this._instance=new this;
}return this._instance;
}},properties:{minimumIntegerDigits:{check:s,init:0},maximumIntegerDigits:{check:s,nullable:true},minimumFractionDigits:{check:s,init:0},maximumFractionDigits:{check:s,nullable:true},groupingUsed:{check:l,init:true},prefix:{check:p,init:t,event:o},postfix:{check:p,init:t,event:o}},members:{__py:null,format:function(w){switch(w){case Infinity:return f;
case -Infinity:return a;
case NaN:return d;
}var A=(w<0);

if(A){w=-w;
}
if(this.getMaximumFractionDigits()!=null){var H=Math.pow(10,this.getMaximumFractionDigits());
w=Math.round(w*H)/H;
}var G=String(Math.floor(w)).length;
var x=t+w;
var D=x.substring(0,G);

while(D.length<this.getMinimumIntegerDigits()){D=q+D;
}
if(this.getMaximumIntegerDigits()!=null&&D.length>this.getMaximumIntegerDigits()){D=D.substring(D.length-this.getMaximumIntegerDigits());
}var C=x.substring(G+1);

while(C.length<this.getMinimumFractionDigits()){C+=q;
}
if(this.getMaximumFractionDigits()!=null&&C.length>this.getMaximumFractionDigits()){C=C.substring(0,this.getMaximumFractionDigits());
}if(this.getGroupingUsed()){var z=D;
D=t;
var F;

for(F=z.length;F>3;F-=3){D=t+qx.locale.Number.getGroupSeparator(this.__py)+z.substring(F-3,F)+D;
}D=z.substring(0,F)+D;
}var B=this.getPrefix()?this.getPrefix():t;
var y=this.getPostfix()?this.getPostfix():t;
var E=B+(A?r:t)+D;

if(C.length>0){E+=t+qx.locale.Number.getDecimalSeparator(this.__py)+C;
}E+=y;
return E;
},parse:function(I){var N=qx.lang.String.escapeRegexpChars(qx.locale.Number.getGroupSeparator(this.__py)+t);
var L=qx.lang.String.escapeRegexpChars(qx.locale.Number.getDecimalSeparator(this.__py)+t);
var J=new RegExp(e+qx.lang.String.escapeRegexpChars(this.getPrefix())+i+j+N+g+n+L+c+qx.lang.String.escapeRegexpChars(this.getPostfix())+k);
var M=J.exec(I);

if(M==null){throw new Error("Number string '"+I+"' does not match the number format");
}var O=(M[1]==r);
var Q=M[2];
var P=M[3];
Q=Q.replace(new RegExp(N,m),t);
var K=(O?r:t)+Q;

if(P!=null&&P.length!=0){P=P.replace(new RegExp(L),t);
K+=h+P;
}return parseFloat(K);
}}});
})();
(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(e){return qx.locale.Manager.getInstance().localize(d,[],e);
},getGroupSeparator:function(f){return qx.locale.Manager.getInstance().localize(a,[],f);
},getPercentFormat:function(g){return qx.locale.Manager.getInstance().localize(c,[],g);
}}});
})();
(function(){var bD="(\\d\\d?)",bC="format",bB="",bA="abbreviated",bz="wide",by="(",bx=")",bw="|",bv="stand-alone",bu="wildcard",bj="default",bi="literal",bh="'",bg="hour",bf="(\\d\\d?\\d?)",be="ms",bd="narrow",bc="-",bb="quoted_literal",ba='a',bK="HH:mm:ss",bL="+",bI="HHmmss",bJ="long",bG='z',bH="0",bE="sec",bF="day",bM='Z',bN=" ",bn="min",bm="mm",bp="(\\d+)",bo="h",br="KK",bq='L',bt="Z",bs="(\\d\\d+)",bl="EEEE",bk="^",a=":",b='y',c="K",d="a",e="([\\+\\-]\\d\\d:?\\d\\d)",f="GMT",g="dd",h="qx.util.format.DateFormat",j="yyy",k="H",bR="YYYY",bQ="y",bP="HH",bO="EE",bV='h',bU="S",bT='s',bS='A',bX="yyyyyy",bW="kk",J="ss",K='H',H='S',I="MMMM",N='c',O="d",L="([a-zA-Z]+)",M='k',F="m",G='Y',s='D',r="yyyyy",u='K',t="hh",o="SSS",n="MM",q="yy",p="(\\d\\d\\d\\d\\d\\d+)",m="yyyy-MM-dd HH:mm:ss",l="(\\d\\d\\d\\d\\d+)",T="short",U='d',V="unkown",W='m',P="(\\d\\d\\d\\d)",Q="(\\d\\d\\d+)",R="k",S='M',X="(\\d\\d\\d\\d+)",Y="SS",C="MMM",B="s",A="M",z='w',y="EEE",x="$",w="?",v='E',E="z",D="yyyy";
qx.Class.define(h,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(bY,ca){qx.core.Object.call(this);

if(!ca){this.__pz=qx.locale.Manager.getInstance().getLocale();
}else{this.__pz=ca;
}
if(bY!=null){this.__pA=bY.toString();
}else{this.__pA=qx.locale.Date.getDateFormat(bJ,this.__pz)+bN+qx.locale.Date.getDateTimeFormat(bI,bK,this.__pz);
}},statics:{getDateTimeInstance:function(){var cc=qx.util.format.DateFormat;
var cb=qx.locale.Date.getDateFormat(bJ)+bN+qx.locale.Date.getDateTimeFormat(bI,bK);

if(cc._dateInstance==null||cc._dateInstance.__pA!=cb){cc._dateTimeInstance=new cc();
}return cc._dateTimeInstance;
},getDateInstance:function(){var ce=qx.util.format.DateFormat;
var cd=qx.locale.Date.getDateFormat(T)+bB;

if(ce._dateInstance==null||ce._dateInstance.__pA!=cd){ce._dateInstance=new ce(cd);
}return ce._dateInstance;
},ASSUME_YEAR_2000_THRESHOLD:30,LOGGING_DATE_TIME__format:m,AM_MARKER:"am",PM_MARKER:"pm",MEDIUM_TIMEZONE_NAMES:["GMT"],FULL_TIMEZONE_NAMES:["Greenwich Mean Time"]},members:{__pz:null,__pA:null,__pB:null,__pC:null,__pD:null,__pE:function(cf,cg){var ch=bB+cf;

while(ch.length<cg){ch=bH+ch;
}return ch;
},__pF:function(ci){var cj=new Date(ci.getTime());
var ck=cj.getDate();

while(cj.getMonth()!=0){cj.setDate(-1);
ck+=cj.getDate()+1;
}return ck;
},__pG:function(cl){return new Date(cl.getTime()+(3-((cl.getDay()+6)%7))*86400000);
},__pH:function(cm){var co=this.__pG(cm);
var cp=co.getFullYear();
var cn=this.__pG(new Date(cp,0,4));
return Math.floor(1.5+(co.getTime()-cn.getTime())/86400000/7);
},format:function(cq){if(cq==null){return null;
}var cw=qx.util.format.DateFormat;
var cx=this.__pz;
var cH=cq.getFullYear();
var cB=cq.getMonth();
var cJ=cq.getDate();
var cr=cq.getDay();
var cC=cq.getHours();
var cy=cq.getMinutes();
var cD=cq.getSeconds();
var cF=cq.getMilliseconds();
var cI=cq.getTimezoneOffset();
var cu=cI>0?1:-1;
var cs=Math.floor(Math.abs(cI)/60);
var cz=Math.abs(cI)%60;
this.__pI();
var cG=bB;

for(var i=0;i<this.__pD.length;i++){var cE=this.__pD[i];

if(cE.type==bi){cG+=cE.text;
}else{var cv=cE.character;
var cA=cE.size;
var ct=w;

switch(cv){case b:case G:if(cA==2){ct=this.__pE(cH%100,2);
}else{ct=cH+bB;

if(cA>ct.length){for(var i=ct.length;i<cA;i++){ct=bH+ct;
}}}break;
case s:ct=this.__pE(this.__pF(cq),cA);
break;
case U:ct=this.__pE(cJ,cA);
break;
case z:ct=this.__pE(this.__pH(cq),cA);
break;
case v:if(cA==2){ct=qx.locale.Date.getDayName(bd,cr,cx,bC);
}else if(cA==3){ct=qx.locale.Date.getDayName(bA,cr,cx,bC);
}else if(cA==4){ct=qx.locale.Date.getDayName(bz,cr,cx,bC);
}break;
case N:if(cA==2){ct=qx.locale.Date.getDayName(bd,cr,cx,bv);
}else if(cA==3){ct=qx.locale.Date.getDayName(bA,cr,cx,bv);
}else if(cA==4){ct=qx.locale.Date.getDayName(bz,cr,cx,bv);
}break;
case S:if(cA==1||cA==2){ct=this.__pE(cB+1,cA);
}else if(cA==3){ct=qx.locale.Date.getMonthName(bA,cB,cx,bC);
}else if(cA==4){ct=qx.locale.Date.getMonthName(bz,cB,cx,bC);
}break;
case bq:if(cA==1||cA==2){ct=this.__pE(cB+1,cA);
}else if(cA==3){ct=qx.locale.Date.getMonthName(bA,cB,cx,bv);
}else if(cA==4){ct=qx.locale.Date.getMonthName(bz,cB,cx,bv);
}break;
case ba:ct=(cC<12)?qx.locale.Date.getAmMarker(cx):qx.locale.Date.getPmMarker(cx);
break;
case K:ct=this.__pE(cC,cA);
break;
case M:ct=this.__pE((cC==0)?24:cC,cA);
break;
case u:ct=this.__pE(cC%12,cA);
break;
case bV:ct=this.__pE(((cC%12)==0)?12:(cC%12),cA);
break;
case W:ct=this.__pE(cy,cA);
break;
case bT:ct=this.__pE(cD,cA);
break;
case H:ct=this.__pE(cF,cA);
break;
case bG:if(cA==1){ct=f+((cu>0)?bc:bL)+this.__pE(Math.abs(cs))+a+this.__pE(cz,2);
}else if(cA==2){ct=cw.MEDIUM_TIMEZONE_NAMES[cs];
}else if(cA==3){ct=cw.FULL_TIMEZONE_NAMES[cs];
}break;
case bM:ct=((cu>0)?bc:bL)+this.__pE(Math.abs(cs),2)+this.__pE(cz,2);
break;
}cG+=ct;
}}return cG;
},parse:function(cK){this.__pJ();
var cQ=this.__pB.regex.exec(cK);

if(cQ==null){throw new Error("Date string '"+cK+"' does not match the date format: "+this.__pA);
}var cL={year:1970,month:0,day:1,hour:0,ispm:false,min:0,sec:0,ms:0};
var cM=1;

for(var i=0;i<this.__pB.usedRules.length;i++){var cO=this.__pB.usedRules[i];
var cN=cQ[cM];

if(cO.field!=null){cL[cO.field]=parseInt(cN,10);
}else{cO.manipulator(cL,cN);
}cM+=(cO.groups==null)?1:cO.groups;
}var cP=new Date(cL.year,cL.month,cL.day,(cL.ispm)?(cL.hour+12):cL.hour,cL.min,cL.sec,cL.ms);

if(cL.month!=cP.getMonth()||cL.year!=cP.getFullYear()){throw new Error("Error parsing date '"+cK+"': the value for day or month is too large");
}return cP;
},__pI:function(){if(this.__pD!=null){return;
}this.__pD=[];
var cV;
var cT=0;
var cX=bB;
var cR=this.__pA;
var cU=bj;
var i=0;

while(i<cR.length){var cW=cR.charAt(i);

switch(cU){case bb:if(cW==bh){if(i+1>=cR.length){i++;
break;
}var cS=cR.charAt(i+1);

if(cS==bh){cX+=cW;
i++;
}else{i++;
cU=V;
}}else{cX+=cW;
i++;
}break;
case bu:if(cW==cV){cT++;
i++;
}else{this.__pD.push({type:bu,character:cV,size:cT});
cV=null;
cT=0;
cU=bj;
}break;
default:if((cW>=ba&&cW<=bG)||(cW>=bS&&cW<=bM)){cV=cW;
cU=bu;
}else if(cW==bh){if(i+1>=cR.length){cX+=cW;
i++;
break;
}var cS=cR.charAt(i+1);

if(cS==bh){cX+=cW;
i++;
}i++;
cU=bb;
}else{cU=bj;
}
if(cU!=bj){if(cX.length>0){this.__pD.push({type:bi,text:cX});
cX=bB;
}}else{cX+=cW;
i++;
}break;
}}if(cV!=null){this.__pD.push({type:bu,character:cV,size:cT});
}else if(cX.length>0){this.__pD.push({type:bi,text:cX});
}},__pJ:function(){if(this.__pB!=null){return ;
}var dc=this.__pA;
this.__pK();
this.__pI();
var di=[];
var de=bk;

for(var da=0;da<this.__pD.length;da++){var dj=this.__pD[da];

if(dj.type==bi){de+=qx.lang.String.escapeRegexpChars(dj.text);
}else{var db=dj.character;
var df=dj.size;
var dd;

for(var dk=0;dk<this.__pC.length;dk++){var dg=this.__pC[dk];

if(db==dg.pattern.charAt(0)&&df==dg.pattern.length){dd=dg;
break;
}}if(dd==null){var dh=bB;

for(var i=0;i<df;i++){dh+=db;
}throw new Error("Malformed date format: "+dc+". Wildcard "+dh+" is not supported");
}else{di.push(dd);
de+=dd.regex;
}}}de+=x;
var cY;

try{cY=new RegExp(de);
}catch(dl){throw new Error("Malformed date format: "+dc);
}this.__pB={regex:cY,"usedRules":di,pattern:de};
},__pK:function(){var dw=qx.util.format.DateFormat;
var dz=qx.lang.String;

if(this.__pC!=null){return ;
}var dx=this.__pC=[];
var dn=qx.locale.Date.getAmMarker(this.__pz).toString()||dw.AM_MARKER;
var dE=qx.locale.Date.getPmMarker(this.__pz).toString()||dw.PM_MARKER;
var ds=function(dI,dJ){dJ=parseInt(dJ,10);

if(dJ<dw.ASSUME_YEAR_2000_THRESHOLD){dJ+=2000;
}else if(dJ<100){dJ+=1900;
}dI.year=dJ;
};
var du=function(dK,dL){dK.month=parseInt(dL,10)-1;
};
var dq=function(dM,dN){var dO=qx.locale.Date.getPmMarker(this.__pz).toString()||dw.PM_MARKER;
dM.ispm=(dN==dO);
};
var dG=function(dP,dQ){dP.hour=parseInt(dQ,10)%24;
};
var dp=function(dR,dS){dR.hour=parseInt(dS,10)%12;
};
var dB=function(dT,dU){return;
};
var dH=qx.locale.Date.getMonthNames(bA,this.__pz,bC);

for(var i=0;i<dH.length;i++){dH[i]=dz.escapeRegexpChars(dH[i].toString());
}var dr=function(dV,dW){dW=dz.escapeRegexpChars(dW);
dV.month=dH.indexOf(dW);
};
var dy=qx.locale.Date.getMonthNames(bz,this.__pz,bC);

for(var i=0;i<dy.length;i++){dy[i]=dz.escapeRegexpChars(dy[i].toString());
}var dC=function(dX,dY){dY=dz.escapeRegexpChars(dY);
dX.month=dy.indexOf(dY);
};
var dm=qx.locale.Date.getDayNames(bd,this.__pz,bC);

for(var i=0;i<dm.length;i++){dm[i]=dz.escapeRegexpChars(dm[i].toString());
}var dF=function(ea,eb){eb=dz.escapeRegexpChars(eb);
ea.month=dm.indexOf(eb);
};
var dD=qx.locale.Date.getDayNames(bA,this.__pz,bC);

for(var i=0;i<dD.length;i++){dD[i]=dz.escapeRegexpChars(dD[i].toString());
}var dt=function(ec,ed){ed=dz.escapeRegexpChars(ed);
ec.month=dD.indexOf(ed);
};
var dA=qx.locale.Date.getDayNames(bz,this.__pz,bC);

for(var i=0;i<dA.length;i++){dA[i]=dz.escapeRegexpChars(dA[i].toString());
}var dv=function(ee,ef){ef=dz.escapeRegexpChars(ef);
ee.month=dA.indexOf(ef);
};
dx.push({pattern:bR,regex:P,manipulator:ds});
dx.push({pattern:bQ,regex:bp,manipulator:ds});
dx.push({pattern:q,regex:bs,manipulator:ds});
dx.push({pattern:j,regex:Q,manipulator:ds});
dx.push({pattern:D,regex:X,manipulator:ds});
dx.push({pattern:r,regex:l,manipulator:ds});
dx.push({pattern:bX,regex:p,manipulator:ds});
dx.push({pattern:A,regex:bD,manipulator:du});
dx.push({pattern:n,regex:bD,manipulator:du});
dx.push({pattern:C,regex:by+dH.join(bw)+bx,manipulator:dr});
dx.push({pattern:I,regex:by+dy.join(bw)+bx,manipulator:dC});
dx.push({pattern:g,regex:bD,field:bF});
dx.push({pattern:O,regex:bD,field:bF});
dx.push({pattern:bO,regex:by+dm.join(bw)+bx,manipulator:dF});
dx.push({pattern:y,regex:by+dD.join(bw)+bx,manipulator:dt});
dx.push({pattern:bl,regex:by+dA.join(bw)+bx,manipulator:dv});
dx.push({pattern:d,regex:by+dn+bw+dE+bx,manipulator:dq});
dx.push({pattern:bP,regex:bD,field:bg});
dx.push({pattern:k,regex:bD,field:bg});
dx.push({pattern:bW,regex:bD,manipulator:dG});
dx.push({pattern:R,regex:bD,manipulator:dG});
dx.push({pattern:br,regex:bD,field:bg});
dx.push({pattern:c,regex:bD,field:bg});
dx.push({pattern:t,regex:bD,manipulator:dp});
dx.push({pattern:bo,regex:bD,manipulator:dp});
dx.push({pattern:bm,regex:bD,field:bn});
dx.push({pattern:F,regex:bD,field:bn});
dx.push({pattern:J,regex:bD,field:bE});
dx.push({pattern:B,regex:bD,field:bE});
dx.push({pattern:o,regex:bf,field:be});
dx.push({pattern:Y,regex:bf,field:be});
dx.push({pattern:bU,regex:bf,field:be});
dx.push({pattern:bt,regex:e,manipulator:dB});
dx.push({pattern:E,regex:L,manipulator:dB});
}},destruct:function(){this.__pD=this.__pB=this.__pC=null;
}});
})();
(function(){var k="_",j="format",h="thu",g="sat",f="cldr_day_",e="cldr_month_",d="wed",c="fri",b="tue",a="mon",B="sun",A="short",z="HH:mm",y="HHmmsszz",x="HHmm",w="HHmmss",v="cldr_date_format_",u="HH:mm:ss zz",t="full",s="cldr_pm",q="long",r="medium",o="cldr_am",p="qx.locale.Date",m="cldr_date_time_format_",n="cldr_time_format_",l="HH:mm:ss";
qx.Class.define(p,{statics:{__pL:qx.locale.Manager.getInstance(),getAmMarker:function(C){return this.__pL.localize(o,[],C);
},getPmMarker:function(D){return this.__pL.localize(s,[],D);
},getDayNames:function(length,E,F){var F=F?F:j;
{};
var H=[B,a,b,d,h,c,g];
var I=[];

for(var i=0;i<H.length;i++){var G=f+F+k+length+k+H[i];
I.push(this.__pL.localize(G,[],E));
}return I;
},getDayName:function(length,J,K,L){var L=L?L:j;
{};
var N=[B,a,b,d,h,c,g];
var M=f+L+k+length+k+N[J];
return this.__pL.localize(M,[],K);
},getMonthNames:function(length,O,P){var P=P?P:j;
{};
var R=[];

for(var i=0;i<12;i++){var Q=e+P+k+length+k+(i+1);
R.push(this.__pL.localize(Q,[],O));
}return R;
},getMonthName:function(length,S,T,U){var U=U?U:j;
{};
var V=e+U+k+length+k+(S+1);
return this.__pL.localize(V,[],T);
},getDateFormat:function(W,X){{};
var Y=v+W;
return this.__pL.localize(Y,[],X);
},getDateTimeFormat:function(ba,bb,bc){var be=m+ba;
var bd=this.__pL.localize(be,[],bc);

if(bd==be){bd=bb;
}return bd;
},getTimeFormat:function(bf,bg){{};
var bi=n+bf;
var bh=this.__pL.localize(bi,[],bg);

if(bh!=bi){return bh;
}
switch(bf){case A:case r:return qx.locale.Date.getDateTimeFormat(x,z);
case q:return qx.locale.Date.getDateTimeFormat(w,l);
case t:return qx.locale.Date.getDateTimeFormat(y,u);
default:throw new Error("This case should never happen.");
}},getWeekStart:function(bj){var bk={"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 bl=qx.locale.Date._getTerritory(bj);
return bk[bl]!=null?bk[bl]:1;
},getWeekendStart:function(bm){var bo={"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 bn=qx.locale.Date._getTerritory(bm);
return bo[bn]!=null?bo[bn]:6;
},getWeekendEnd:function(bp){var bq={"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 br=qx.locale.Date._getTerritory(bp);
return bq[br]!=null?bq[br]:0;
},isWeekend:function(bs,bt){var bv=qx.locale.Date.getWeekendStart(bt);
var bu=qx.locale.Date.getWeekendEnd(bt);

if(bu>bv){return ((bs>=bv)&&(bs<=bu));
}else{return ((bs>=bv)||(bs<=bu));
}},_getTerritory:function(bw){if(bw){var bx=bw.split(k)[1]||bw;
}else{bx=this.__pL.getTerritory()||this.__pL.getLanguage();
}return bx.toUpperCase();
}}});
})();
(function(){var k="",j="Number",h='</div>',g='" ',f="paneUpdated",e='<div>',d="</div>",c="overflow: hidden;",b="qx.event.type.Data",a="paneReloadsData",E="div",D='style="',C="_applyMaxCacheLines",B="qx.ui.table.pane.Pane",A="width: 100%;",z="qx.event.type.Event",w="_applyVisibleRowCount",v='>',u="line-height: ",t="appear",r='class="',s="width:100%;",p="px;",q='<div ',n="'>",o="_applyFirstVisibleRow",l="<div style='",m=";position:relative;";
qx.Class.define(B,{extend:qx.ui.core.Widget,construct:function(F){qx.ui.core.Widget.call(this);
this.__pM=F;
this.__pN=0;
this.__pO=0;
this.__pP=[];
},events:{"paneReloadsData":b,"paneUpdated":z},properties:{firstVisibleRow:{check:j,init:0,apply:o},visibleRowCount:{check:j,init:0,apply:w},maxCacheLines:{check:j,init:1000,apply:C},allowShrinkX:{refine:true,init:false}},members:{__pO:null,__pN:null,__pM:null,__pQ:null,__pR:null,__pS:null,__pP:null,__pT:0,_applyFirstVisibleRow:function(G,H){this.updateContent(false,G-H);
},_applyVisibleRowCount:function(I,J){this.updateContent(true);
},_getContentHint:function(){return {width:this.getPaneScroller().getTablePaneModel().getTotalWidth(),height:400};
},getPaneScroller:function(){return this.__pM;
},getTable:function(){return this.__pM.getTable();
},setFocusedCell:function(K,L,M){if(K!=this.__pS||L!=this.__pR){var N=this.__pR;
this.__pS=K;
this.__pR=L;
if(L!=N&&!M){if(N!==null){this.updateContent(false,null,N,true);
}
if(L!==null){this.updateContent(false,null,L,true);
}}}},onSelectionChanged:function(){this.updateContent(false,null,null,true);
},onFocusChanged:function(){this.updateContent(false,null,null,true);
},setColumnWidth:function(O,P){this.updateContent(true);
},onColOrderChanged:function(){this.updateContent(true);
},onPaneModelChanged:function(){this.updateContent(true);
},onTableModelDataChanged:function(Q,R,S,T){this.__pU();
var V=this.getFirstVisibleRow();
var U=this.getVisibleRowCount();

if(R==-1||R>=V&&Q<V+U){this.updateContent();
}},onTableModelMetaDataChanged:function(){this.updateContent(true);
},_applyMaxCacheLines:function(W,X){if(this.__pT>=W&&W!==-1){this.__pU();
}},__pU:function(){this.__pP=[];
this.__pT=0;
},__pV:function(Y,ba,bb){if(!ba&&!bb&&this.__pP[Y]){return this.__pP[Y];
}else{return null;
}},__pW:function(bc,bd,be,bf){var bg=this.getMaxCacheLines();

if(!be&&!bf&&!this.__pP[bc]&&bg>0){this._applyMaxCacheLines(bg);
this.__pP[bc]=bd;
this.__pT+=1;
}},updateContent:function(bh,bi,bj,bk){if(bh){this.__pU();
}if(bi&&Math.abs(bi)<=Math.min(10,this.getVisibleRowCount())){this._scrollContent(bi);
}else if(bk&&!this.getTable().getAlwaysUpdateCells()){this._updateRowStyles(bj);
}else{this._updateAllRows();
}},_updateRowStyles:function(bl){var bp=this.getContentElement().getDomElement();

if(!bp||!bp.firstChild){this._updateAllRows();
return;
}var bt=this.getTable();
var bn=bt.getSelectionModel();
var bq=bt.getTableModel();
var bu=bt.getDataRowRenderer();
var bo=bp.firstChild.childNodes;
var bs={table:bt};
var bv=this.getFirstVisibleRow();
var y=0;
var bm=bo.length;

if(bl!=null){var br=bl-bv;

if(br>=0&&br<bm){bv=bl;
y=br;
bm=br+1;
}else{return;
}}
for(;y<bm;y++,bv++){bs.row=bv;
bs.selected=bn.isSelectedIndex(bv);
bs.focusedRow=(this.__pR==bv);
bs.rowData=bq.getRowData(bv);
bu.updateDataRowElement(bs,bo[y]);
}},_getRowsHtml:function(bw,bx){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(bw,bw+bx-1);
var bS=bD.getRowHeight();
var bU=bV.getColumnCount();
var bC=0;
var bz=[];
for(var x=0;x<bU;x++){var bY=bV.getColumnAtX(x);
var bF=bB.getColumnWidth(bY);
bz.push({col:bY,xPos:x,editable:bA.isColumnEditable(bY),focusedCol:this.__pS==bY,styleLeft:bC,styleWidth:bF});
bC+=bF;
}var bX=[];
var ca=false;

for(var bE=bw;bE<bw+bx;bE++){var bH=bG.isSelectedIndex(bE);
var bK=(this.__pR==bE);
var bP=this.__pV(bE,bH,bK);

if(bP){bX.push(bP);
continue;
}var by=[];
var bR={table:bD};
bR.styleHeight=bS;
bR.row=bE;
bR.selected=bH;
bR.focusedRow=bK;
bR.rowData=bA.getRowData(bE);

if(!bR.rowData){ca=true;
}by.push(q);
var bO=bL.getRowAttributes(bR);

if(bO){by.push(bO);
}var bN=bL.getRowClass(bR);

if(bN){by.push(r,bN,g);
}var bM=bL.createRowStyle(bR);
bM+=m+bL.getRowHeightStyle(bS)+s;

if(bM){by.push(D,bM,g);
}by.push(v);
var bW=false;

for(x=0;x<bU&&!bW;x++){var bI=bz[x];

for(var bT in bI){bR[bT]=bI[bT];
}var bY=bR.col;
bR.value=bA.getValue(bY,bE);
var bJ=bB.getDataCellRenderer(bY);
bR.style=bJ.getDefaultCellStyle();
bW=bJ.createDataCellHtml(bR,by)||false;
}by.push(h);
var bQ=by.join(k);
this.__pW(bE,bQ,bH,bK);
bX.push(bQ);
}this.fireDataEvent(a,ca);
return bX.join(k);
},_scrollContent:function(cb){var cc=this.getContentElement().getDomElement();

if(!(cc&&cc.firstChild)){this._updateAllRows();
return;
}var cl=cc.firstChild;
var cd=cl.childNodes;
var cj=this.getVisibleRowCount();
var ci=this.getFirstVisibleRow();
var cg=this.getTable().getTableModel();
var cm=0;
cm=cg.getRowCount();
if(ci+cj>cm){this._updateAllRows();
return;
}var cn=cb<0?cj+cb:0;
var ce=cb<0?0:cj-cb;

for(i=Math.abs(cb)-1;i>=0;i--){var ch=cd[cn];

try{cl.removeChild(ch);
}catch(co){break;
}}if(!this.__pQ){this.__pQ=document.createElement(E);
}var ck=e;
ck+=this._getRowsHtml(ci+ce,Math.abs(cb));
ck+=h;
this.__pQ.innerHTML=ck;
var cf=this.__pQ.firstChild.childNodes;
if(cb>0){for(var i=cf.length-1;i>=0;i--){var ch=cf[0];
cl.appendChild(ch);
}}else{for(var i=cf.length-1;i>=0;i--){var ch=cf[cf.length-1];
cl.insertBefore(ch,cl.firstChild);
}}if(this.__pR!==null){this._updateRowStyles(this.__pR-cb);
this._updateRowStyles(this.__pR);
}this.fireEvent(f);
},_updateAllRows:function(){var cs=this.getContentElement().getDomElement();

if(!cs){this.addListenerOnce(t,arguments.callee,this);
return;
}var cy=this.getTable();
var cv=cy.getTableModel();
var cx=this.getPaneScroller().getTablePaneModel();
var cw=cx.getColumnCount();
var cp=cy.getRowHeight();
var ct=this.getFirstVisibleRow();
var cq=this.getVisibleRowCount();
var cz=cv.getRowCount();

if(ct+cq>cz){cq=Math.max(0,cz-ct);
}var cr=cx.getTotalWidth();
var cu;
if(cq>0){cu=[l,A,(cy.getForceLineHeight()?u+cp+p:k),c,n,this._getRowsHtml(ct,cq),d];
}else{cu=[];
}var cA=cu.join(k);
cs.innerHTML=cA;
this.setWidth(cr);
this.__pN=cw;
this.__pO=cq;
this.fireEvent(f);
}},destruct:function(){this.__pQ=this.__pM=this.__pP=null;
}});
})();
(function(){var c="hovered",b="__pY",a="qx.ui.table.pane.Header";
qx.Class.define(a,{extend:qx.ui.core.Widget,construct:function(d){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.HBox());
this.__pX=new qx.ui.core.Blocker(this);
this.__pY=d;
},members:{__pY:null,__qa:null,__qb:null,__pX:null,getPaneScroller:function(){return this.__pY;
},getTable:function(){return this.__pY.getTable();
},getBlocker:function(){return this.__pX;
},onColOrderChanged:function(){this._updateContent(true);
},onPaneModelChanged:function(){this._updateContent(true);
},onTableModelMetaDataChanged:function(){this._updateContent();
},setColumnWidth:function(e,f,g){var h=this.getHeaderWidgetAtColumn(e);

if(h!=null){h.setWidth(f);
}},setMouseOverColumn:function(i){if(i!=this.__qb){if(this.__qb!=null){var j=this.getHeaderWidgetAtColumn(this.__qb);

if(j!=null){j.removeState(c);
}}
if(i!=null){this.getHeaderWidgetAtColumn(i).addState(c);
}this.__qb=i;
}},getHeaderWidgetAtColumn:function(k){var l=this.getPaneScroller().getTablePaneModel().getX(k);
return this._getChildren()[l];
},showColumnMoveFeedback:function(m,x){var q=this.getContainerLocation();

if(this.__qa==null){var v=this.getTable();
var n=this.getPaneScroller().getTablePaneModel().getX(m);
var p=this._getChildren()[n];
var r=v.getTableModel();
var t=v.getTableColumnModel();
var u={xPos:n,col:m,name:r.getColumnName(m),table:v};
var s=t.getHeaderCellRenderer(m);
var o=s.createHeaderCell(u);
var w=p.getBounds();
o.setWidth(w.width);
o.setHeight(w.height);
o.setZIndex(1000000);
o.setOpacity(0.8);
o.setLayoutProperties({top:q.top});
this.getApplicationRoot().add(o);
this.__qa=o;
}this.__qa.setLayoutProperties({left:q.left+x});
this.__qa.show();
},hideColumnMoveFeedback:function(){if(this.__qa!=null){this.__qa.destroy();
this.__qa=null;
}},isShowingColumnMoveFeedback:function(){return this.__qa!=null;
},_updateContent:function(y){var I=this.getTable();
var C=I.getTableModel();
var F=I.getTableColumnModel();
var H=this.getPaneScroller().getTablePaneModel();
var K=this._getChildren();
var D=H.getColumnCount();
var G=C.getSortColumnIndex();
if(y){this._cleanUpCells();
}var z={};
z.sortedAscending=C.isSortAscending();

for(var x=0;x<D;x++){var B=H.getColumnAtX(x);

if(B===undefined){continue;
}var J=F.getColumnWidth(B);
var E=F.getHeaderCellRenderer(B);
z.xPos=x;
z.col=B;
z.name=C.getColumnName(B);
z.editable=C.isColumnEditable(B);
z.sorted=(B==G);
z.table=I;
var A=K[x];
if(A==null){A=E.createHeaderCell(z);
A.set({width:J});
this._add(A);
}else{E.updateHeaderCell(z,A);
}}},_cleanUpCells:function(){var M=this._getChildren();

for(var x=M.length-1;x>=0;x--){var L=M[x];
L.destroy();
}}},destruct:function(){this.__pX.dispose();
this._disposeObjects(b);
}});
})();
(function(){var m="Boolean",l="resize-line",k="mousedown",j="qx.event.type.Data",i="mouseup",h="qx.ui.table.pane.CellEvent",g="scroll",d="focus-indicator",c="excluded",b="scrollbar-y",bm="table-scroller-focus-indicator",bl="visible",bk="mousemove",bj="header",bi="editing",bh="click",bg="modelChanged",bf="scrollbar-x",be="cellClick",bd="pane",t="__qe",u="mouseout",r="changeHorizontalScrollBarVisible",s="__qi",p="bottom",q="_applyScrollTimeout",n="changeScrollX",o="_applyTablePaneModel",z="Integer",A="dblclick",I="__qj",G="dataEdited",Q="__qh",L="mousewheel",Y="interval",V="qx.ui.table.pane.Scroller",C="_applyShowCellFocusIndicator",bc="resize",bb="vertical",ba="__qg",B="__qf",E="changeScrollY",F="__qd",H="appear",J="table-scroller",M="beforeSort",S="cellDblclick",X="__ql",v="__qk",w="horizontal",D="losecapture",P="contextmenu",O="col-resize",N="disappear",U="_applyVerticalScrollBarVisible",T="_applyHorizontalScrollBarVisible",K="cellContextmenu",R="close",a="changeTablePaneModel",W="qx.ui.table.pane.Model",y="changeVerticalScrollBarVisible";
qx.Class.define(V,{extend:qx.ui.core.Widget,include:qx.ui.core.scroll.MScrollBarFactory,construct:function(bn){qx.ui.core.Widget.call(this);
this.__qc=bn;
var bo=new qx.ui.layout.Grid();
bo.setColumnFlex(0,1);
bo.setRowFlex(1,1);
this._setLayout(bo);
this.__qd=this._showChildControl(bf);
this.__qe=this._showChildControl(b);
this.__qf=this._showChildControl(bj);
this.__qg=this._showChildControl(bd);
this.__qh=new qx.ui.container.Composite(new qx.ui.layout.HBox()).set({minWidth:0});
this._add(this.__qh,{row:0,column:0,colSpan:2});
this.__qi=new qx.ui.table.pane.Clipper();
this.__qi.add(this.__qf);
this.__qi.addListener(D,this._onChangeCaptureHeader,this);
this.__qi.addListener(bk,this._onMousemoveHeader,this);
this.__qi.addListener(k,this._onMousedownHeader,this);
this.__qi.addListener(i,this._onMouseupHeader,this);
this.__qi.addListener(bh,this._onClickHeader,this);
this.__qh.add(this.__qi,{flex:1});
this.__qj=new qx.ui.table.pane.Clipper();
this.__qj.add(this.__qg);
this.__qj.addListener(L,this._onMousewheel,this);
this.__qj.addListener(bk,this._onMousemovePane,this);
this.__qj.addListener(k,this._onMousedownPane,this);
this.__qj.addListener(i,this._onMouseupPane,this);
this.__qj.addListener(bh,this._onClickPane,this);
this.__qj.addListener(P,this._onContextMenu,this);
this.__qj.addListener(A,this._onDblclickPane,this);
this.__qj.addListener(bc,this._onResizePane,this);
this._add(this.__qj,{row:1,column:0});
this.__qk=this.getChildControl(d);
this.initShowCellFocusIndicator();
this.getChildControl(l).hide();
this.addListener(u,this._onMouseout,this);
this.addListener(H,this._onAppear,this);
this.addListener(N,this._onDisappear,this);
this.__ql=new qx.event.Timer();
this.__ql.addListener(Y,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":j,"changeScrollX":j,"cellClick":h,"cellDblclick":h,"cellContextmenu":h,"beforeSort":j},properties:{horizontalScrollBarVisible:{check:m,init:true,apply:T,event:r},verticalScrollBarVisible:{check:m,init:true,apply:U,event:y},tablePaneModel:{check:W,apply:o,event:a},liveResize:{check:m,init:false},focusCellOnMouseMove:{check:m,init:false},selectBeforeFocus:{check:m,init:false},showCellFocusIndicator:{check:m,init:true,apply:C},resetSelectionOnHeaderClick:{check:m,init:true},scrollTimeout:{check:z,init:100,apply:q},appearance:{refine:true,init:J}},members:{__qm:null,__qc:null,__qn:null,__qo:null,__qp:null,__qq:null,__qr:null,__qs:null,__qt:null,__qu:null,__qv:null,__qw:null,__qx:null,__qy:null,__qz:false,__qA:null,__qB:null,__qC:null,__qD:null,__qE:null,__qF:null,__qG:null,__qH:null,__qd:null,__qe:null,__qf:null,__qi:null,__qg:null,__qj:null,__qk:null,__qh:null,__ql:null,getPaneInsetRight:function(){var bq=this.getTopRightWidget();
var br=bq&&bq.isVisible()&&bq.getBounds()?bq.getBounds().width:0;
var bp=this.getVerticalScrollBarVisible()?this.getVerticalScrollBarWidth():0;
return Math.max(br,bp);
},setPaneWidth:function(bs){if(this.isVerticalScrollBarVisible()){bs+=this.getPaneInsetRight();
}this.setWidth(bs);
},_createChildControlImpl:function(bt,bu){var bv;

switch(bt){case bj:bv=(this.getTable().getNewTablePaneHeader())(this);
break;
case bd:bv=(this.getTable().getNewTablePane())(this);
break;
case d:bv=new qx.ui.table.pane.FocusIndicator(this);
bv.setUserBounds(0,0,0,0);
bv.setZIndex(1000);
bv.addListener(i,this._onMouseupFocusIndicator,this);
this.__qj.add(bv);
bv.show();
bv.setDecorator(null);
break;
case l:bv=new qx.ui.core.Widget();
bv.setUserBounds(0,0,0,0);
bv.setZIndex(1000);
this.__qj.add(bv);
break;
case bf:bv=this._createScrollBar(w).set({minWidth:0,alignY:p});
bv.addListener(g,this._onScrollX,this);
this._add(bv,{row:2,column:0});
break;
case b:bv=this._createScrollBar(bb);
bv.addListener(g,this._onScrollY,this);
this._add(bv,{row:1,column:1});
break;
}return bv||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bt);
},_applyHorizontalScrollBarVisible:function(bw,bx){this.__qd.setVisibility(bw?bl:c);
},_applyVerticalScrollBarVisible:function(by,bz){this.__qe.setVisibility(by?bl:c);
},_applyTablePaneModel:function(bA,bB){if(bB!=null){bB.removeListener(bg,this._onPaneModelChanged,this);
}bA.addListener(bg,this._onPaneModelChanged,this);
},_applyShowCellFocusIndicator:function(bC,bD){if(bC){this.__qk.setDecorator(bm);
this._updateFocusIndicator();
}else{if(this.__qk){this.__qk.setDecorator(null);
}}},getScrollY:function(){return this.__qe.getPosition();
},setScrollY:function(scrollY,bE){this.__qe.scrollTo(scrollY);

if(bE){this._updateContent();
}},getScrollX:function(){return this.__qd.getPosition();
},setScrollX:function(scrollX){this.__qd.scrollTo(scrollX);
},getTable:function(){return this.__qc;
},onColVisibilityChanged:function(){this.updateHorScrollBarMaximum();
this._updateFocusIndicator();
},setColumnWidth:function(bF,bG){this.__qf.setColumnWidth(bF,bG);
this.__qg.setColumnWidth(bF,bG);
var bH=this.getTablePaneModel();
var x=bH.getX(bF);

if(x!=-1){this.updateHorScrollBarMaximum();
this._updateFocusIndicator();
}},onColOrderChanged:function(){this.__qf.onColOrderChanged();
this.__qg.onColOrderChanged();
this.updateHorScrollBarMaximum();
},onTableModelDataChanged:function(bI,bJ,bK,bL){this.__qg.onTableModelDataChanged(bI,bJ,bK,bL);
var bM=this.getTable().getTableModel().getRowCount();

if(bM!=this.__qm){this.updateVerScrollBarMaximum();

if(this.getFocusedRow()>=bM){if(bM==0){this.setFocusedCell(null,null);
}else{this.setFocusedCell(this.getFocusedColumn(),bM-1);
}}this.__qm=bM;
}},onSelectionChanged:function(){this.__qg.onSelectionChanged();
},onFocusChanged:function(){this.__qg.onFocusChanged();
},onTableModelMetaDataChanged:function(){this.__qf.onTableModelMetaDataChanged();
this.__qg.onTableModelMetaDataChanged();
},_onPaneModelChanged:function(){this.__qf.onPaneModelChanged();
this.__qg.onPaneModelChanged();
},_onResizePane:function(){this.updateHorScrollBarMaximum();
this.updateVerScrollBarMaximum();
this._updateContent();
this.__qf._updateContent();
this.__qc._updateScrollBarVisibility();
},updateHorScrollBarMaximum:function(){var bQ=this.__qj.getInnerSize();

if(!bQ){return ;
}var bO=this.getTablePaneModel().getTotalWidth();
var bP=this.__qd;

if(bQ.width<bO){var bN=Math.max(0,bO-bQ.width);
bP.setMaximum(bN);
bP.setKnobFactor(bQ.width/bO);
var bR=bP.getPosition();
bP.setPosition(Math.min(bR,bN));
}else{bP.setMaximum(0);
bP.setKnobFactor(1);
bP.setPosition(0);
}},updateVerScrollBarMaximum:function(){var ca=this.__qj.getInnerSize();

if(!ca){return ;
}var bX=this.getTable().getTableModel();
var bT=bX.getRowCount();

if(this.getTable().getKeepFirstVisibleRowComplete()){bT+=1;
}var bS=this.getTable().getRowHeight();
var bV=bT*bS;
var bY=this.__qe;

if(ca.height<bV){var bU=Math.max(0,bV-ca.height);
bY.setMaximum(bU);
bY.setKnobFactor(ca.height/bV);
var bW=bY.getPosition();
bY.setPosition(Math.min(bW,bU));
}else{bY.setMaximum(0);
bY.setKnobFactor(1);
bY.setPosition(0);
}},onKeepFirstVisibleRowCompleteChanged:function(){this.updateVerScrollBarMaximum();
this._updateContent();
},_onAppear:function(){this._startInterval(this.getScrollTimeout());
},_onDisappear:function(){this._stopInterval();
},_onScrollX:function(e){var cb=e.getData();
this.fireDataEvent(n,cb,e.getOldData());
this.__qi.scrollToX(cb);
this.__qj.scrollToX(cb);
},_onScrollY:function(e){this.fireDataEvent(E,e.getData(),e.getOldData());
this._postponedUpdateContent();
},_onMousewheel:function(e){var cc=this.getTable();

if(!cc.getEnabled()){return;
}var ce=qx.bom.client.Engine.GECKO?1:3;
var cd=this.__qe.getPosition()+((e.getWheelDelta()*ce)*cc.getRowHeight());
this.__qe.scrollTo(cd);
if(this.__qB&&this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(this.__qB,this.__qC);
}e.stop();
},__qI:function(cf){var ck=this.getTable();
var cl=this.__qf.getHeaderWidgetAtColumn(this.__qv);
var cg=cl.getSizeHint().minWidth;
var ci=Math.max(cg,this.__qx+cf-this.__qw);

if(this.getLiveResize()){var ch=ck.getTableColumnModel();
ch.setColumnWidth(this.__qv,ci,true);
}else{this.__qf.setColumnWidth(this.__qv,ci,true);
var cj=this.getTablePaneModel();
this._showResizeLine(cj.getColumnLeft(this.__qv)+ci);
}this.__qw+=ci-this.__qx;
this.__qx=ci;
},__qJ:function(cm){var cn=qx.ui.table.pane.Scroller.CLICK_TOLERANCE;

if(this.__qf.isShowingColumnMoveFeedback()||cm>this.__qu+cn||cm<this.__qu-cn){this.__qr+=cm-this.__qu;
this.__qf.showColumnMoveFeedback(this.__qq,this.__qr);
var co=this.__qc.getTablePaneScrollerAtPageX(cm);

if(this.__qt&&this.__qt!=co){this.__qt.hideColumnMoveFeedback();
}
if(co!=null){this.__qs=co.showColumnMoveFeedback(cm);
}else{this.__qs=null;
}this.__qt=co;
this.__qu=cm;
}},_onMousemoveHeader:function(e){var cv=this.getTable();

if(!cv.getEnabled()){return;
}var cw=false;
var cp=null;
var ct=e.getDocumentLeft();
var cu=e.getDocumentTop();
this.__qB=ct;
this.__qC=cu;

if(this.__qv!=null){this.__qI(ct);
cw=true;
e.stopPropagation();
}else if(this.__qq!=null){this.__qJ(ct);
e.stopPropagation();
}else{var cq=this._getResizeColumnForPageX(ct);

if(cq!=-1){cw=true;
}else{var cs=cv.getTableModel();
var cx=this._getColumnForPageX(ct);

if(cx!=null&&cs.isColumnSortable(cx)){cp=cx;
}}}var cr=cw?O:null;
this.getApplicationRoot().setGlobalCursor(cr);
this.setCursor(cr);
this.__qf.setMouseOverColumn(cp);
},_onMousemovePane:function(e){var cy=this.getTable();

if(!cy.getEnabled()){return;
}var cA=e.getDocumentLeft();
var cB=e.getDocumentTop();
this.__qB=cA;
this.__qC=cB;
var cz=this._getRowForPagePos(cA,cB);

if(cz!=null&&this._getColumnForPageX(cA)!=null){if(this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(cA,cB);
}}this.__qf.setMouseOverColumn(null);
},_onMousedownHeader:function(e){if(!this.getTable().getEnabled()){return;
}var cD=e.getDocumentLeft();
var cE=this._getResizeColumnForPageX(cD);

if(cE!=-1){this._startResizeHeader(cE,cD);
e.stop();
}else{var cC=this._getColumnForPageX(cD);

if(cC!=null){this._startMoveHeader(cC,cD);
e.stop();
}}},_startResizeHeader:function(cF,cG){var cH=this.getTable().getTableColumnModel();
this.__qv=cF;
this.__qw=cG;
this.__qx=cH.getColumnWidth(this.__qv);
this.__qi.capture();
},_startMoveHeader:function(cI,cJ){this.__qq=cI;
this.__qu=cJ;
this.__qr=this.getTablePaneModel().getColumnLeft(cI);
this.__qi.capture();
},_onMousedownPane:function(e){var cN=this.getTable();

if(!cN.getEnabled()){return;
}
if(cN.isEditing()){cN.stopEditing();
}var cK=e.getDocumentLeft();
var cM=e.getDocumentTop();
var cP=this._getRowForPagePos(cK,cM);
var cO=this._getColumnForPageX(cK);

if(cP!==null){this.__qy={row:cP,col:cO};
this.__qz=false;
var cL=this.getSelectBeforeFocus();

if(cL){cN.getSelectionManager().handleMouseDown(cP,e);
}if(!this.getFocusCellOnMouseMove()){this._focusCellAtPagePos(cK,cM);
}
if(!cL){cN.getSelectionManager().handleMouseDown(cP,e);
}}},_onMouseupFocusIndicator:function(e){if(this.__qy&&!this.__qz&&!this.isEditing()&&this.__qk.getRow()==this.__qy.row&&this.__qk.getColumn()==this.__qy.col){this.fireEvent(be,qx.ui.table.pane.CellEvent,[this,e,this.__qy.row,this.__qy.col],true);
this.__qz=true;
}else if(!this.isEditing()){this._onMousedownPane(e);
}},_onChangeCaptureHeader:function(e){if(this.__qv!=null){this._stopResizeHeader();
}
if(this.__qq!=null){this._stopMoveHeader();
}},_stopResizeHeader:function(){var cQ=this.getTable().getTableColumnModel();
if(!this.getLiveResize()){this._hideResizeLine();
cQ.setColumnWidth(this.__qv,this.__qx,true);
}this.__qv=null;
this.__qi.releaseCapture();
this.getApplicationRoot().setGlobalCursor(null);
this.setCursor(null);
if(this.isEditing()){var cR=this.__qF.getBounds().height;
this.__qF.setUserBounds(0,0,this.__qx,cR);
}},_stopMoveHeader:function(){var cW=this.getTable().getTableColumnModel();
var cX=this.getTablePaneModel();
this.__qf.hideColumnMoveFeedback();

if(this.__qt){this.__qt.hideColumnMoveFeedback();
}
if(this.__qs!=null){var da=cX.getFirstColumnX()+cX.getX(this.__qq);
var cV=this.__qs;

if(cV!=da&&cV!=da+1){var cY=cW.getVisibleColumnAtX(da);
var cU=cW.getVisibleColumnAtX(cV);
var cT=cW.getOverallX(cY);
var cS=(cU!=null)?cW.getOverallX(cU):cW.getOverallColumnCount();

if(cS>cT){cS--;
}cW.moveColumn(cT,cS);
this._updateFocusIndicator();
}}this.__qq=null;
this.__qs=null;
this.__qi.releaseCapture();
},_onMouseupPane:function(e){var db=this.getTable();

if(!db.getEnabled()){return;
}var dc=this._getRowForPagePos(e.getDocumentLeft(),e.getDocumentTop());

if(dc!=-1&&dc!=null&&this._getColumnForPageX(e.getDocumentLeft())!=null){db.getSelectionManager().handleMouseUp(dc,e);
}},_onMouseupHeader:function(e){var dd=this.getTable();

if(!dd.getEnabled()){return;
}
if(this.__qv!=null){this._stopResizeHeader();
this.__qA=true;
e.stop();
}else if(this.__qq!=null){this._stopMoveHeader();
e.stop();
}},_onClickHeader:function(e){if(this.__qA){this.__qA=false;
return;
}var di=this.getTable();

if(!di.getEnabled()){return;
}var dg=di.getTableModel();
var dh=e.getDocumentLeft();
var df=this._getResizeColumnForPageX(dh);

if(df==-1){var dl=this._getColumnForPageX(dh);

if(dl!=null&&dg.isColumnSortable(dl)){var de=dg.getSortColumnIndex();
var dj=(dl!=de)?true:!dg.isSortAscending();
var dk={column:dl,ascending:dj,clickEvent:e};

if(this.fireDataEvent(M,dk,null,true)){dg.sortByColumn(dl,dj);

if(this.getResetSelectionOnHeaderClick()){di.getSelectionModel().resetSelection();
}}}}e.stop();
},_onClickPane:function(e){var dm=this.getTable();

if(!dm.getEnabled()){return;
}var dq=e.getDocumentLeft();
var dr=e.getDocumentTop();
var dn=this._getRowForPagePos(dq,dr);
var dp=this._getColumnForPageX(dq);

if(dn!=null&&dp!=null){dm.getSelectionManager().handleClick(dn,e);

if(this.__qk.isHidden()||(this.__qy&&!this.__qz&&!this.isEditing()&&dn==this.__qy.row&&dp==this.__qy.col)){this.fireEvent(be,qx.ui.table.pane.CellEvent,[this,e,dn,dp],true);
this.__qz=true;
}}},_onContextMenu:function(e){var dv=e.getDocumentLeft();
var dw=e.getDocumentTop();
var dt=this._getRowForPagePos(dv,dw);
var du=this._getColumnForPageX(dv);

if(this.__qk.isHidden()||(this.__qy&&dt==this.__qy.row&&du==this.__qy.col)){this.fireEvent(K,qx.ui.table.pane.CellEvent,[this,e,dt,du],true);
var ds=this.getTable().getContextMenu();

if(ds){if(ds.getChildren().length>0){ds.openAtMouse(e);
}else{ds.exclude();
}e.preventDefault();
}}},_onContextMenuOpen:function(e){},_onDblclickPane:function(e){var dy=e.getDocumentLeft();
var dz=e.getDocumentTop();
this._focusCellAtPagePos(dy,dz);
this.startEditing();
var dx=this._getRowForPagePos(dy,dz);

if(dx!=-1&&dx!=null){this.fireEvent(S,qx.ui.table.pane.CellEvent,[this,e,dx],true);
}},_onMouseout:function(e){var dA=this.getTable();

if(!dA.getEnabled()){return;
}if(this.__qv==null){this.setCursor(null);
this.getApplicationRoot().setGlobalCursor(null);
}this.__qf.setMouseOverColumn(null);
},_showResizeLine:function(x){var dC=this._showChildControl(l);
var dB=dC.getWidth();
var dD=this.__qj.getBounds();
dC.setUserBounds(x-Math.round(dB/2),0,dB,dD.height);
},_hideResizeLine:function(){this._excludeChildControl(l);
},showColumnMoveFeedback:function(dE){var dN=this.getTablePaneModel();
var dM=this.getTable().getTableColumnModel();
var dH=this.__qg.getContainerLocation().left;
var dL=dN.getColumnCount();
var dI=0;
var dG=0;
var dQ=dH;

for(var dF=0;dF<dL;dF++){var dJ=dN.getColumnAtX(dF);
var dO=dM.getColumnWidth(dJ);

if(dE<dQ+dO/2){break;
}dQ+=dO;
dI=dF+1;
dG=dQ-dH;
}var dK=this.__qj.getContainerLocation().left;
var dP=this.__qj.getBounds().width;
var scrollX=dK-dH;
dG=qx.lang.Number.limit(dG,scrollX+2,scrollX+dP-1);
this._showResizeLine(dG);
return dN.getFirstColumnX()+dI;
},hideColumnMoveFeedback:function(){this._hideResizeLine();
},_focusCellAtPagePos:function(dR,dS){var dU=this._getRowForPagePos(dR,dS);

if(dU!=-1&&dU!=null){var dT=this._getColumnForPageX(dR);
this.__qc.setFocusedCell(dT,dU);
}},setFocusedCell:function(dV,dW){if(!this.isEditing()){this.__qg.setFocusedCell(dV,dW,this.__qo);
this.__qD=dV;
this.__qE=dW;
this._updateFocusIndicator();
}},getFocusedColumn:function(){return this.__qD;
},getFocusedRow:function(){return this.__qE;
},scrollCellVisible:function(dX,dY){var ej=this.getTablePaneModel();
var ea=ej.getX(dX);

if(ea!=-1){var eg=this.__qj.getInnerSize();

if(!eg){return;
}var eh=this.getTable().getTableColumnModel();
var ed=ej.getColumnLeft(dX);
var ek=eh.getColumnWidth(dX);
var eb=this.getTable().getRowHeight();
var el=dY*eb;
var scrollX=this.getScrollX();
var scrollY=this.getScrollY();
var ei=Math.min(ed,ed+ek-eg.width);
var ef=ed;
this.setScrollX(Math.max(ei,Math.min(ef,scrollX)));
var ec=el+eb-eg.height;

if(this.getTable().getKeepFirstVisibleRowComplete()){ec+=eb;
}var ee=el;
this.setScrollY(Math.max(ec,Math.min(ee,scrollY)),true);
}},isEditing:function(){return this.__qF!=null;
},startEditing:function(){var eq=this.getTable();
var eo=eq.getTableModel();
var es=this.__qD;

if(!this.isEditing()&&(es!=null)&&eo.isColumnEditable(es)){var et=this.__qE;
var em=this.getTablePaneModel().getX(es);
var en=eo.getValue(es,et);
this.__qG=eq.getTableColumnModel().getCellEditorFactory(es);
var ep={col:es,row:et,xPos:em,value:en,table:eq};
this.__qF=this.__qG.createCellEditor(ep);
if(this.__qF===null){return false;
}else if(this.__qF instanceof qx.ui.window.Window){this.__qF.setModal(true);
this.__qF.setShowClose(false);
this.__qF.addListener(R,this._onCellEditorModalWindowClose,this);
var f=eq.getModalCellEditorPreOpenFunction();

if(f!=null){f(this.__qF,ep);
}this.__qF.open();
}else{var er=this.__qk.getInnerSize();
this.__qF.setUserBounds(0,0,er.width,er.height);
this.__qk.addListener(k,function(e){this.__qy={row:this.__qE,col:this.__qD};
e.stopPropagation();
},this);
this.__qk.add(this.__qF);
this.__qk.addState(bi);
this.__qk.setKeepActive(false);
this.__qk.setDecorator(bm);
this.__qF.focus();
this.__qF.activate();
}return true;
}return false;
},stopEditing:function(){if(!this.getShowCellFocusIndicator()){this.__qk.setDecorator(null);
}this.flushEditor();
this.cancelEditing();
},flushEditor:function(){if(this.isEditing()){var ev=this.__qG.getCellEditorValue(this.__qF);
var eu=this.getTable().getTableModel().getValue(this.__qD,this.__qE);
this.getTable().getTableModel().setValue(this.__qD,this.__qE,ev);
this.__qc.focus();
this.__qc.fireDataEvent(G,{row:this.__qE,col:this.__qD,oldValue:eu,value:ev});
}},cancelEditing:function(){if(this.isEditing()&&!this.__qF.pendingDispose){if(this._cellEditorIsModalWindow){this.__qF.destroy();
this.__qF=null;
this.__qG=null;
this.__qF.pendingDispose=true;
}else{this.__qk.removeState(bi);
this.__qk.setKeepActive(true);
this.__qF.destroy();
this.__qF=null;
this.__qG=null;
}}},_onCellEditorModalWindowClose:function(e){this.stopEditing();
},_getColumnForPageX:function(ew){var ez=this.getTable().getTableColumnModel();
var eA=this.getTablePaneModel();
var ey=eA.getColumnCount();
var eC=this.__qf.getContainerLocation().left;

for(var x=0;x<ey;x++){var ex=eA.getColumnAtX(x);
var eB=ez.getColumnWidth(ex);
eC+=eB;

if(ew<eC){return ex;
}}return null;
},_getResizeColumnForPageX:function(eD){var eH=this.getTable().getTableColumnModel();
var eI=this.getTablePaneModel();
var eG=eI.getColumnCount();
var eK=this.__qf.getContainerLocation().left;
var eE=qx.ui.table.pane.Scroller.RESIZE_REGION_RADIUS;

for(var x=0;x<eG;x++){var eF=eI.getColumnAtX(x);
var eJ=eH.getColumnWidth(eF);
eK+=eJ;

if(eD>=(eK-eE)&&eD<=(eK+eE)){return eF;
}}return -1;
},_getRowForPagePos:function(eL,eM){var eN=this.__qg.getContentLocation();

if(eL<eN.left||eL>eN.right){return null;
}
if(eM>=eN.top&&eM<=eN.bottom){var eO=this.getTable().getRowHeight();
var scrollY=this.__qe.getPosition();

if(this.getTable().getKeepFirstVisibleRowComplete()){scrollY=Math.floor(scrollY/eO)*eO;
}var eR=scrollY+eM-eN.top;
var eT=Math.floor(eR/eO);
var eS=this.getTable().getTableModel();
var eP=eS.getRowCount();
return (eT<eP)?eT:null;
}var eQ=this.__qf.getContainerLocation();

if(eM>=eQ.top&&eM<=eQ.bottom&&eL<=eQ.right){return -1;
}return null;
},setTopRightWidget:function(eU){var eV=this.__qH;

if(eV!=null){this.__qh.remove(eV);
}
if(eU!=null){this.__qh.add(eU);
}this.__qH=eU;
},getTopRightWidget:function(){return this.__qH;
},getHeader:function(){return this.__qf;
},getTablePane:function(){return this.__qg;
},getVerticalScrollBarWidth:function(){var eW=this.__qe;
return eW.isVisible()?(eW.getSizeHint().width||0):0;
},getNeededScrollBars:function(eX,eY){var ff=this.__qe.getSizeHint().width;
var fg=this.__qj.getInnerSize();
var fa=fg?fg.width:0;

if(this.getVerticalScrollBarVisible()){fa+=ff;
}var fj=fg?fg.height:0;

if(this.getHorizontalScrollBarVisible()){fj+=ff;
}var fd=this.getTable().getTableModel();
var fh=fd.getRowCount();
var fk=this.getTablePaneModel().getTotalWidth();
var fi=this.getTable().getRowHeight()*fh;
var fc=false;
var fl=false;

if(fk>fa){fc=true;

if(fi>fj-ff){fl=true;
}}else if(fi>fj){fl=true;

if(!eY&&(fk>fa-ff)){fc=true;
}}var fe=qx.ui.table.pane.Scroller.HORIZONTAL_SCROLLBAR;
var fb=qx.ui.table.pane.Scroller.VERTICAL_SCROLLBAR;
return ((eX||fc)?fe:0)|((eY||!fl)?0:fb);
},getPaneClipper:function(){return this.__qj;
},_applyScrollTimeout:function(fm,fn){this._startInterval(fm);
},_startInterval:function(fo){this.__ql.setInterval(fo);
this.__ql.start();
},_stopInterval:function(){this.__ql.stop();
},_postponedUpdateContent:function(){this._updateContent();
},_oninterval:qx.event.GlobalError.observeMethod(function(){if(this.__qo&&!this.__qg._layoutPending){this.__qo=false;
this._updateContent();
}}),_updateContent:function(){var ft=this.__qj.getInnerSize();

if(!ft){return;
}var fw=ft.height;
var scrollX=this.__qd.getPosition();
var scrollY=this.__qe.getPosition();
var fq=this.getTable().getRowHeight();
var fr=Math.floor(scrollY/fq);
var fv=this.__qg.getFirstVisibleRow();
this.__qg.setFirstVisibleRow(fr);
var fs=Math.ceil(fw/fq);
var fp=0;
var fu=this.getTable().getKeepFirstVisibleRowComplete();

if(!fu){fs++;
fp=scrollY%fq;
}this.__qg.setVisibleRowCount(fs);

if(fr!=fv){this._updateFocusIndicator();
}this.__qj.scrollToX(scrollX);
if(!fu){this.__qj.scrollToY(fp);
}},_updateFocusIndicator:function(){var fx=this.getTable();

if(!fx.getEnabled()){return;
}this.__qk.moveToCell(this.__qD,this.__qE);
}},destruct:function(){this._stopInterval();
var fy=this.getTablePaneModel();

if(fy){fy.dispose();
}this.__qy=this.__qH=this.__qc=null;
this._disposeObjects(F,t,s,I,v,B,ba,Q,X);
}});
})();
(function(){var a="qx.ui.table.pane.Clipper";
qx.Class.define(a,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this,new qx.ui.layout.Grow());
this.setMinWidth(0);
},members:{scrollToX:function(b){this.getContentElement().scrollToX(b,false);
},scrollToY:function(c){this.getContentElement().scrollToY(c,true);
}}});
})();
(function(){var g="Integer",f="Escape",d="keypress",c="Enter",b="excluded",a="qx.ui.table.pane.FocusIndicator";
qx.Class.define(a,{extend:qx.ui.container.Composite,construct:function(h){qx.ui.container.Composite.call(this);
this.__qK=h;
this.setKeepActive(true);
this.addListener(d,this._onKeyPress,this);
},properties:{visibility:{refine:true,init:b},row:{check:g,nullable:true},column:{check:g,nullable:true}},members:{__qK:null,_onKeyPress:function(e){var i=e.getKeyIdentifier();

if(i!==f&&i!==c){e.stopPropagation();
}},moveToCell:function(j,k){if(!this.__qK.getShowCellFocusIndicator()&&!this.__qK.getTable().getTableModel().isColumnEditable(j)){this.exclude();
return;
}else{this.show();
}
if(j==null){this.hide();
this.setRow(null);
this.setColumn(null);
}else{var l=this.__qK.getTablePaneModel().getX(j);

if(l==-1){this.hide();
this.setRow(null);
this.setColumn(null);
}else{var q=this.__qK.getTable();
var o=q.getTableColumnModel();
var p=this.__qK.getTablePaneModel();
var n=this.__qK.getTablePane().getFirstVisibleRow();
var m=q.getRowHeight();
this.setUserBounds(p.getColumnLeft(j)-2,(k-n)*m-2,o.getColumnWidth(j)+3,m+3);
this.show();
this.setRow(k);
this.setColumn(j);
}}}},destruct:function(){this.__qK=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 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 h="headerCellRendererChanged",g="visibilityChangedPre",f="Number",e="qx.event.type.Event",d="_applyFirstColumnX",c="Integer",b="qx.ui.table.pane.Model",a="_applyMaxColumnCount";
qx.Class.define(b,{extend:qx.core.Object,construct:function(i){qx.core.Object.call(this);
this.setTableColumnModel(i);
},events:{"modelChanged":e},statics:{EVENT_TYPE_MODEL_CHANGED:"modelChanged"},properties:{firstColumnX:{check:c,init:0,apply:d},maxColumnCount:{check:f,init:-1,apply:a}},members:{__qL:null,__qM:null,_applyFirstColumnX:function(j,k){this.__qL=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},_applyMaxColumnCount:function(l,m){this.__qL=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},setTableColumnModel:function(n){if(this.__qM){this.__qM.removeListener(g,this._onColVisibilityChanged,this);
this.__qM.removeListener(h,this._onColVisibilityChanged,this);
}this.__qM=n;
this.__qM.addListener(g,this._onColVisibilityChanged,this);
this.__qM.addListener(h,this._onHeaderCellRendererChanged,this);
this.__qL=null;
},_onColVisibilityChanged:function(o){this.__qL=null;
this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},_onHeaderCellRendererChanged:function(p){this.fireEvent(qx.ui.table.pane.Model.EVENT_TYPE_MODEL_CHANGED);
},getColumnCount:function(){if(this.__qL==null){var q=this.getFirstColumnX();
var s=this.getMaxColumnCount();
var r=this.__qM.getVisibleColumnCount();

if(s==-1||(q+s)>r){this.__qL=r-q;
}else{this.__qL=s;
}}return this.__qL;
},getColumnAtX:function(t){var u=this.getFirstColumnX();
return this.__qM.getVisibleColumnAtX(u+t);
},getX:function(v){var w=this.getFirstColumnX();
var y=this.getMaxColumnCount();
var x=this.__qM.getVisibleX(v)-w;

if(x>=0&&(y==-1||x<y)){return x;
}else{return -1;
}},getColumnLeft:function(z){var C=0;
var B=this.getColumnCount();

for(var x=0;x<B;x++){var A=this.getColumnAtX(x);

if(A==z){return C;
}C+=this.__qM.getColumnWidth(A);
}return -1;
},getTotalWidth:function(){var D=0;
var E=this.getColumnCount();

for(var x=0;x<E;x++){var F=this.getColumnAtX(x);
D+=this.__qM.getColumnWidth(F);
}return D;
}},destruct:function(){if(this.__qM){this.__qM.removeListener(g,this._onColVisibilityChanged,this);
this.__qM.removeListener(h,this._onColVisibilityChanged,this);
}this.__qM=null;
}});
})();
(function(){var c="qx.event.type.Data",b="qx.event.type.Event",a="qx.ui.table.ITableModel";
qx.Interface.define(a,{events:{"dataChanged":c,"metaDataChanged":b,"sorted":c},members:{getRowCount:function(){},getRowData:function(d){},getColumnCount:function(){},getColumnId:function(e){},getColumnIndexById:function(f){},getColumnName:function(g){},isColumnEditable:function(h){},isColumnSortable:function(i){},sortByColumn:function(j,k){},getSortColumnIndex:function(){},isSortAscending:function(){},prefetchRows:function(l,m){},getValue:function(n,o){},getValueById:function(p,q){},setValue:function(r,s,t){},setValueById:function(u,v,w){}}});
})();
(function(){var e="metaDataChanged",d="qx.event.type.Data",c="qx.event.type.Event",b="abstract",a="qx.ui.table.model.Abstract";
qx.Class.define(a,{type:b,extend:qx.core.Object,implement:qx.ui.table.ITableModel,events:{"dataChanged":d,"metaDataChanged":c,"sorted":d},construct:function(){qx.core.Object.call(this);
this.__qN=[];
this.__qO=[];
this.__qP={};
},members:{__qN:null,__qO:null,__qP:null,__qQ:null,init:function(f){},getRowCount:function(){throw new Error("getRowCount is abstract");
},getRowData:function(g){return null;
},isColumnEditable:function(h){return false;
},isColumnSortable:function(j){return false;
},sortByColumn:function(k,l){},getSortColumnIndex:function(){return -1;
},isSortAscending:function(){return true;
},prefetchRows:function(m,n){},getValue:function(o,p){throw new Error("getValue is abstract");
},getValueById:function(q,r){return this.getValue(this.getColumnIndexById(q),r);
},setValue:function(s,t,u){throw new Error("setValue is abstract");
},setValueById:function(v,w,x){this.setValue(this.getColumnIndexById(v),w,x);
},getColumnCount:function(){return this.__qN.length;
},getColumnIndexById:function(y){return this.__qP[y];
},getColumnId:function(z){return this.__qN[z];
},getColumnName:function(A){return this.__qO[A];
},setColumnIds:function(B){this.__qN=B;
this.__qP={};

for(var i=0;i<B.length;i++){this.__qP[B[i]]=i;
}this.__qO=new Array(B.length);
if(!this.__qQ){this.fireEvent(e);
}},setColumnNamesByIndex:function(C){if(this.__qN.length!=C.length){throw new Error("this.__columnIdArr and columnNameArr have different length: "+this.__qN.length+" != "+C.length);
}this.__qO=C;
this.fireEvent(e);
},setColumnNamesById:function(D){this.__qO=new Array(this.__qN.length);

for(var i=0;i<this.__qN.length;++i){this.__qO[i]=D[this.__qN[i]];
}},setColumns:function(E,F){var G=this.__qN.length==0||F;

if(F==null){if(this.__qN.length==0){F=E;
}else{F=this.__qN;
}}
if(F.length!=E.length){throw new Error("columnIdArr and columnNameArr have different length: "+F.length+" != "+E.length);
}
if(G){this.__qQ=true;
this.setColumnIds(F);
this.__qQ=false;
}this.setColumnNamesByIndex(E);
}},destruct:function(){this.__qN=this.__qO=this.__qP=null;
}});
})();
(function(){var e="dataChanged",d="metaDataChanged",c="qx.ui.table.model.Simple",b="Boolean",a="sorted";
qx.Class.define(c,{extend:qx.ui.table.model.Abstract,construct:function(){qx.ui.table.model.Abstract.call(this);
this.__qR=[];
this.__qS=-1;
this.__qT=[];
this.__qU=null;
},properties:{caseSensitiveSorting:{check:b,init:true}},statics:{_defaultSortComparatorAscending:function(f,g){var h=f[arguments.callee.columnIndex];
var k=g[arguments.callee.columnIndex];

if(qx.lang.Type.isNumber(h)&&qx.lang.Type.isNumber(k)){var l=isNaN(h)?isNaN(k)?0:1:isNaN(k)?-1:null;

if(l!=null){return l;
}}return (h>k)?1:((h==k)?0:-1);
},_defaultSortComparatorInsensitiveAscending:function(m,n){var o=(m[arguments.callee.columnIndex].toLowerCase?m[arguments.callee.columnIndex].toLowerCase():m[arguments.callee.columnIndex]);
var p=(n[arguments.callee.columnIndex].toLowerCase?n[arguments.callee.columnIndex].toLowerCase():n[arguments.callee.columnIndex]);

if(qx.lang.Type.isNumber(o)&&qx.lang.Type.isNumber(p)){var q=isNaN(o)?isNaN(p)?0:1:isNaN(p)?-1:null;

if(q!=null){return q;
}}return (o>p)?1:((o==p)?0:-1);
},_defaultSortComparatorDescending:function(r,s){var t=r[arguments.callee.columnIndex];
var u=s[arguments.callee.columnIndex];

if(qx.lang.Type.isNumber(t)&&qx.lang.Type.isNumber(u)){var v=isNaN(t)?isNaN(u)?0:1:isNaN(u)?-1:null;

if(v!=null){return v;
}}return (t<u)?1:((t==u)?0:-1);
},_defaultSortComparatorInsensitiveDescending:function(w,x){var y=(w[arguments.callee.columnIndex].toLowerCase?w[arguments.callee.columnIndex].toLowerCase():w[arguments.callee.columnIndex]);
var z=(x[arguments.callee.columnIndex].toLowerCase?x[arguments.callee.columnIndex].toLowerCase():x[arguments.callee.columnIndex]);

if(qx.lang.Type.isNumber(y)&&qx.lang.Type.isNumber(z)){var A=isNaN(y)?isNaN(z)?0:1:isNaN(z)?-1:null;

if(A!=null){return A;
}}return (y<z)?1:((y==z)?0:-1);
}},members:{__qR:null,__qU:null,__qV:null,__qT:null,__qS:null,__qW:null,getRowData:function(B){var C=this.__qR[B];

if(C==null||C.originalData==null){return C;
}else{return C.originalData;
}},getRowDataAsMap:function(D){var F=this.__qR[D];

if(F!=null){var E={};
for(var G=0;G<this.getColumnCount();G++){E[this.getColumnId(G)]=F[G];
}
if(F.originalData!=null){for(var H in F.originalData){if(E[H]==undefined){E[H]=F.originalData[H];
}}}return E;
}return (F&&F.originalData)?F.originalData:null;
},getDataAsMapArray:function(){var J=this.getRowCount();
var I=[];

for(var i=0;i<J;i++){I.push(this.getRowDataAsMap(i));
}return I;
},setEditable:function(K){this.__qU=[];

for(var L=0;L<this.getColumnCount();L++){this.__qU[L]=K;
}this.fireEvent(d);
},setColumnEditable:function(M,N){if(N!=this.isColumnEditable(M)){if(this.__qU==null){this.__qU=[];
}this.__qU[M]=N;
this.fireEvent(d);
}},isColumnEditable:function(O){return this.__qU?(this.__qU[O]==true):false;
},setColumnSortable:function(P,Q){if(Q!=this.isColumnSortable(P)){if(this.__qV==null){this.__qV=[];
}this.__qV[P]=Q;
this.fireEvent(d);
}},isColumnSortable:function(R){return (this.__qV?(this.__qV[R]!==false):true);
},sortByColumn:function(S,T){var W;
var V=this.__qT[S];

if(V){W=(T?V.ascending:V.descending);
}else{if(this.getCaseSensitiveSorting()){W=(T?qx.ui.table.model.Simple._defaultSortComparatorAscending:qx.ui.table.model.Simple._defaultSortComparatorDescending);
}else{W=(T?qx.ui.table.model.Simple._defaultSortComparatorInsensitiveAscending:qx.ui.table.model.Simple._defaultSortComparatorInsensitiveDescending);
}}W.columnIndex=S;
this.__qR.sort(W);
this.__qS=S;
this.__qW=T;
var U={columnIndex:S,ascending:T};
this.fireDataEvent(a,U);
this.fireEvent(d);
},setSortMethods:function(X,Y){var ba;

if(qx.lang.Type.isFunction(Y)){ba={ascending:Y,descending:function(bb,bc){return Y(bc,bb);
}};
}else{ba=Y;
}this.__qT[X]=ba;
},getSortMethods:function(bd){return this.__qT[bd];
},clearSorting:function(){if(this.__qS!=-1){this.__qS=-1;
this.__qW=true;
this.fireEvent(d);
}},getSortColumnIndex:function(){return this.__qS;
},_setSortColumnIndex:function(be){this.__qS=be;
},isSortAscending:function(){return this.__qW;
},_setSortAscending:function(bf){this.__qW=bf;
},getRowCount:function(){return this.__qR.length;
},getValue:function(bg,bh){if(bh<0||bh>=this.__qR.length){throw new Error("this.__rowArr out of bounds: "+bh+" (0.."+this.__qR.length+")");
}return this.__qR[bh][bg];
},setValue:function(bi,bj,bk){if(this.__qR[bj][bi]!=bk){this.__qR[bj][bi]=bk;
if(this.hasListener(e)){var bl={firstRow:bj,lastRow:bj,firstColumn:bi,lastColumn:bi};
this.fireDataEvent(e,bl);
}
if(bi==this.__qS){this.clearSorting();
}}},setData:function(bm,bn){this.__qR=bm;
if(this.hasListener(e)){var bo={firstRow:0,lastRow:bm.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(e,bo);
}
if(bn!==false){this.clearSorting();
}},getData:function(){return this.__qR;
},setDataAsMapArray:function(bp,bq,br){this.setData(this._mapArray2RowArr(bp,bq),br);
},addRows:function(bs,bt,bu){if(bt==null){bt=this.__qR.length;
}bs.splice(0,0,bt,0);
Array.prototype.splice.apply(this.__qR,bs);
var bv={firstRow:bt,lastRow:this.__qR.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(e,bv);

if(bu!==false){this.clearSorting();
}},addRowsAsMapArray:function(bw,bx,by,bz){this.addRows(this._mapArray2RowArr(bw,by),bx,bz);
},setRows:function(bA,bB,bC){if(bB==null){bB=0;
}bA.splice(0,0,bB,bA.length);
Array.prototype.splice.apply(this.__qR,bA);
var bD={firstRow:bB,lastRow:this.__qR.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};
this.fireDataEvent(e,bD);

if(bC!==false){this.clearSorting();
}},setRowsAsMapArray:function(bE,bF,bG,bH){this.setRows(this._mapArray2RowArr(bE,bG),bF,bH);
},removeRows:function(bI,bJ,bK){this.__qR.splice(bI,bJ);
var bL={firstRow:bI,lastRow:this.__qR.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1,removeStart:bI,removeCount:bJ};
this.fireDataEvent(e,bL);

if(bK!==false){this.clearSorting();
}},_mapArray2RowArr:function(bM,bN){var bR=bM.length;
var bO=this.getColumnCount();
var bQ=new Array(bR);
var bP;

for(var i=0;i<bR;++i){bP=[];

if(bN){bP.originalData=bM[i];
}
for(var j=0;j<bO;++j){bP[j]=bM[i][this.getColumnId(j)];
}bQ[i]=bP;
}return bQ;
}},destruct:function(){this.__qR=this.__qU=this.__qT=this.__qV=null;
}});
})();
(function(){var s="",r="==",q=">",p="between",o="<",n="regex",m="!between",l=">=",k="!=",j="<=",c="font-weight",h=";",f="text-align",b='g',a=":",e="qx.ui.table.cellrenderer.Conditional",d="color",g="font-style";
qx.Class.define(e,{extend:qx.ui.table.cellrenderer.Default,construct:function(t,u,v,w){qx.ui.table.cellrenderer.Default.call(this);
this.numericAllowed=[r,k,q,o,l,j];
this.betweenAllowed=[p,m];
this.conditions=[];
this.__qX=t||s;
this.__qY=u||s;
this.__ra=v||s;
this.__rb=w||s;
},members:{__qX:null,__qY:null,__ra:null,__rb:null,__rc:function(x,y){if(x[1]!=null){y[f]=x[1];
}
if(x[2]!=null){y[d]=x[2];
}
if(x[3]!=null){y[g]=x[3];
}
if(x[4]!=null){y[c]=x[4];
}},addNumericCondition:function(z,A,B,C,D,E,F){var G=null;

if(qx.lang.Array.contains(this.numericAllowed,z)){if(A!=null){G=[z,B,C,D,E,A,F];
}}
if(G!=null){this.conditions.push(G);
}else{throw new Error("Condition not recognized or value is null!");
}},addBetweenCondition:function(H,I,J,K,L,M,N,O){if(qx.lang.Array.contains(this.betweenAllowed,H)){if(I!=null&&J!=null){var P=[H,K,L,M,N,I,J,O];
}}
if(P!=null){this.conditions.push(P);
}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=[n,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||s;
}var bd=X.table.getTableModel();
var i;
var bf;
var Y;
var bb={"text-align":this.__qX,"color":this.__qY,"font-style":this.__ra,"font-weight":this.__rb};

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 r:if(Y==this.conditions[i][5]){bf=true;
}break;
case k:if(Y!=this.conditions[i][5]){bf=true;
}break;
case q:if(Y>this.conditions[i][5]){bf=true;
}break;
case o:if(Y<this.conditions[i][5]){bf=true;
}break;
case l:if(Y>=this.conditions[i][5]){bf=true;
}break;
case j: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 p:if(Y>=this.conditions[i][5]&&Y<=this.conditions[i][6]){bf=true;
}break;
case m:if(Y<this.conditions[i][5]&&Y>this.conditions[i][6]){bf=true;
}break;
}}else if(this.conditions[i][0]==n){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],b);
bf=ba.test(Y);
}if(bf==true){this.__rc(this.conditions[i],bb);
}}var be=[];

for(var bc in bb){if(bb[bc]){be.push(bc,a,bb[bc],h);
}}return be.join(s);
}},destruct:function(){this.numericAllowed=this.betweenAllowed=this.conditions=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(d){return qx.bom.String.escape(d.value||a);
},_getCellClass:function(e){return b;
}}});
})();
(function(){var e="",d="qooxdoo-table-cell qooxdoo-table-cell-right",c="0",b="qx.util.format.NumberFormat",a="qx.ui.table.cellrenderer.Number";
qx.Class.define(a,{extend:qx.ui.table.cellrenderer.Conditional,properties:{numberFormat:{check:b,init:null,nullable:true}},members:{_getContentHtml:function(f){var g=this.getNumberFormat();

if(g){if(f.value||f.value==0){return g.format(f.value);
}else{return e;
}}else{return f.value==0?c:(f.value||e);
}},_getCellClass:function(h){return d;
}}});
})();
(function(){var a="track.tasks.SpinnerFactory";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,members:{createCellEditor:function(b){var c=new qx.ui.form.Spinner(0,0,10);
c.setValue(b.value);
return c;
},getCellEditorValue:function(d){var e=d.getValue();
return e;
}}});
})();
(function(){var k="textfield",j="",i="downbutton",h="upbutton",g="Number",f="inner",d="PageUp",c="Boolean",b="changeValue",a="Down",J="Up",I="execute",H="PageDown",G="changeLocale",F="qx.dynlocale",E="on",D="_applyEditable",C="_applyWrap",B="keydown",A="\-]",r="mousewheel",s="_applyValue",p="number",q="_applyMinimum",n="qx.util.format.NumberFormat",o="[0-9",l="keyup",m="spinner",t="this._checkValue(value)",u="_applyMaximum",w="changeNumberFormat",v="changeMaximum",y="changeMinimum",x="_applyNumberFormat",z="qx.ui.form.Spinner";
qx.Class.define(z,{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(K,L,M){qx.ui.core.Widget.call(this);
var N=new qx.ui.layout.Grid();
N.setColumnFlex(0,1);
N.setRowFlex(0,1);
N.setRowFlex(1,1);
this._setLayout(N);
this.addListener(B,this._onKeyDown,this);
this.addListener(l,this._onKeyUp,this);
this.addListener(r,this._onMouseWheel,this);

if(qx.core.Variant.isSet(F,E)){qx.locale.Manager.getInstance().addListener(G,this._onChangeLocale,this);
}this._createChildControl(k);
this._createChildControl(h);
this._createChildControl(i);
if(K!=null){this.setMinimum(K);
}
if(M!=null){this.setMaximum(M);
}
if(L!==undefined){this.setValue(L);
}else{this.initValue();
}},properties:{appearance:{refine:true,init:m},focusable:{refine:true,init:true},singleStep:{check:g,init:1},pageStep:{check:g,init:10},minimum:{check:g,apply:q,init:0,event:y},value:{check:t,nullable:true,apply:s,init:0,event:b},maximum:{check:g,apply:u,init:100,event:v},wrap:{check:c,init:false,apply:C},editable:{check:c,init:true,apply:D},numberFormat:{check:n,apply:x,nullable:true},allowShrinkY:{refine:true,init:false}},members:{__rd:null,__re:false,__rf:false,_createChildControlImpl:function(O,P){var Q;

switch(O){case k:Q=new qx.ui.form.TextField();
Q.setFilter(this._getFilterRegExp());
Q.addState(f);
Q.setWidth(40);
Q.setFocusable(false);
Q.addListener(b,this._onTextChange,this);
this._add(Q,{column:0,row:0,rowSpan:2});
break;
case h:Q=new qx.ui.form.RepeatButton();
Q.addState(f);
Q.setFocusable(false);
Q.addListener(I,this._countUp,this);
this._add(Q,{column:1,row:0});
break;
case i:Q=new qx.ui.form.RepeatButton();
Q.addState(f);
Q.setFocusable(false);
Q.addListener(I,this._countDown,this);
this._add(Q,{column:1,row:1});
break;
}return Q||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,O);
},_getFilterRegExp:function(){var V=qx.locale.Number.getDecimalSeparator(qx.locale.Manager.getInstance().getLocale());
var U=qx.locale.Number.getGroupSeparator(qx.locale.Manager.getInstance().getLocale());
var T=j;
var R=j;

if(this.getNumberFormat()!==null){T=this.getNumberFormat().getPrefix()||j;
R=this.getNumberFormat().getPostfix()||j;
}var S=new RegExp(o+qx.lang.String.escapeRegexpChars(V)+qx.lang.String.escapeRegexpChars(U)+qx.lang.String.escapeRegexpChars(T)+qx.lang.String.escapeRegexpChars(R)+A);
return S;
},_forwardStates:{focused:true,invalid:true},tabFocus:function(){var W=this.getChildControl(k);
W.getFocusElement().focus();
W.selectAllText();
},_applyMinimum:function(X,Y){if(this.getMaximum()<X){this.setMaximum(X);
}
if(this.getValue()<X){this.setValue(X);
}else{this._updateButtons();
}},_applyMaximum:function(ba,bb){if(this.getMinimum()>ba){this.setMinimum(ba);
}
if(this.getValue()>ba){this.setValue(ba);
}else{this._updateButtons();
}},_applyEnabled:function(bc,bd){qx.ui.core.Widget.prototype._applyEnabled.call(this,bc,bd);
this._updateButtons();
},_checkValue:function(be){return typeof be===p&&be>=this.getMinimum()&&be<=this.getMaximum();
},_applyValue:function(bf,bg){var bh=this.getChildControl(k);
this._updateButtons();
this.__rd=bf;
if(bf!==null){if(this.getNumberFormat()){bh.setValue(this.getNumberFormat().format(bf));
}else{bh.setValue(bf+j);
}}else{bh.setValue(j);
}},_applyEditable:function(bi,bj){var bk=this.getChildControl(k);

if(bk){bk.setReadOnly(!bi);
}},_applyWrap:function(bl,bm){this._updateButtons();
},_applyNumberFormat:function(bn,bo){var bp=this.getChildControl(k);
bp.setFilter(this._getFilterRegExp());
this.getNumberFormat().addListener(w,this._onChangeNumberFormat,this);
this._applyValue(this.__rd,undefined);
},_getContentPaddingTarget:function(){return this.getChildControl(k);
},_updateButtons:function(){var br=this.getChildControl(h);
var bq=this.getChildControl(i);
var bs=this.getValue();

if(!this.getEnabled()){br.setEnabled(false);
bq.setEnabled(false);
}else{if(this.getWrap()){br.setEnabled(true);
bq.setEnabled(true);
}else{if(bs!==null&&bs<this.getMaximum()){br.setEnabled(true);
}else{br.setEnabled(false);
}if(bs!==null&&bs>this.getMinimum()){bq.setEnabled(true);
}else{bq.setEnabled(false);
}}}},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case d:this.__re=true;
case J:this.getChildControl(h).press();
break;
case H:this.__rf=true;
case a:this.getChildControl(i).press();
break;
default:return ;
}e.stopPropagation();
e.preventDefault();
},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case d:this.getChildControl(h).release();
this.__re=false;
break;
case J:this.getChildControl(h).release();
break;
case H:this.getChildControl(i).release();
this.__rf=false;
break;
case a:this.getChildControl(i).release();
break;
}},_onMouseWheel:function(e){if(e.getWheelDelta()>0){this._countDown();
}else{this._countUp();
}e.stop();
},_onTextChange:function(e){var bt=this.getChildControl(k);
var bu;
if(this.getNumberFormat()){try{bu=this.getNumberFormat().parse(bt.getValue());
}catch(bv){}}if(bu===undefined){bu=parseFloat(bt.getValue(),10);
}if(!isNaN(bu)){if(bu>this.getMaximum()){bt.setValue(this.getMaximum()+j);
return;
}else if(bu<this.getMinimum()){bt.setValue(this.getMinimum()+j);
return;
}this.setValue(bu);
}else{this._applyValue(this.__rd,undefined);
}},_onChangeLocale:function(bw){if(this.getNumberFormat()!==null){this.setNumberFormat(this.getNumberFormat());
var bx=this.getChildControl(k);
bx.setFilter(this._getFilterRegExp());
bx.setValue(this.getNumberFormat().format(this.getValue()));
}},_onChangeNumberFormat:function(by){var bz=this.getChildControl(k);
bz.setFilter(this._getFilterRegExp());
bz.setValue(this.getNumberFormat().format(this.getValue()));
},_countUp:function(){if(this.__re){var bB=this.getValue()+this.getPageStep();
}else{var bB=this.getValue()+this.getSingleStep();
}if(this.getWrap()){if(bB>this.getMaximum()){var bA=this.getMaximum()-bB;
bB=this.getMinimum()+bA;
}}this.gotoValue(bB);
},_countDown:function(){if(this.__rf){var bD=this.getValue()-this.getPageStep();
}else{var bD=this.getValue()-this.getSingleStep();
}if(this.getWrap()){if(bD<this.getMinimum()){var bC=this.getMinimum()+bD;
bD=this.getMaximum()-bC;
}}this.gotoValue(bD);
},gotoValue:function(bE){return this.setValue(Math.min(this.getMaximum(),Math.max(this.getMinimum(),bE)));
}},destruct:function(){if(qx.core.Variant.isSet(F,E)){qx.locale.Manager.getInstance().removeListener(G,this._onChangeLocale,this);
}}});
})();
(function(){var r="px",q=".qooxdoo-table-cell-icon {",p="abstract",o="",n="qx.ui.table.cellrenderer.AbstractImage",m=" qooxdoo-table-cell-icon",l="<div></div>",k="'",j="no-repeat",i="}",c="  text-align:center;",h="inline-block",f="static",b="top",a="  padding-top:1px;",e="title='",d="string",g="-moz-inline-box";
qx.Class.define(n,{extend:qx.ui.table.cellrenderer.Abstract,type:p,construct:function(){qx.ui.table.cellrenderer.Abstract.call(this);
var s=this.self(arguments);

if(!s.stylesheet){s.stylesheet=qx.bom.Stylesheet.createElement(q+c+a+i);
}},members:{__rg:16,__rh:16,__ri:null,_insetY:2,_identifyImage:function(t){throw new Error("_identifyImage is abstract");
},_getImageInfos:function(u){var v=this._identifyImage(u);
if(v==null||typeof v==d){v={url:v,tooltip:null};
}if(!v.imageWidth||!v.imageHeight){var w=this.__rj(v.url);
v.imageWidth=w.width;
v.imageHeight=w.height;
}v.width=v.imageWidth;
v.height=v.imageHeight;
return v;
},__rj:function(x){var A=qx.util.ResourceManager.getInstance();
var z=qx.io.ImageLoader;
var y,B;
if(A.has(x)){y=A.getImageWidth(x);
B=A.getImageHeight(x);
}else if(z.isLoaded(x)){y=z.getWidth(x);
B=z.getHeight(x);
}else{y=this.__rg;
B=this.__rh;
}return {width:y,height:B};
},createDataCellHtml:function(C,D){this.__ri=this._getImageInfos(C);
return qx.ui.table.cellrenderer.Abstract.prototype.createDataCellHtml.call(this,C,D);
},_getCellClass:function(E){return qx.ui.table.cellrenderer.Abstract.prototype._getCellClass.call(this)+m;
},_getContentHtml:function(F){var content=l;
if(this.__ri.url){content=qx.bom.element.Decoration.create(this.__ri.url,j,{width:this.__ri.width+r,height:this.__ri.height+r,display:qx.bom.client.Engine.GECKO&&qx.bom.client.Engine.VERSION<1.9?g:h,verticalAlign:b,position:f});
}return content;
},_getCellAttributes:function(G){var H=this.__ri.tooltip;

if(H){return e+H+k;
}else{return o;
}}},destruct:function(){this.__ri=null;
}});
})();
(function(){var g="String",f="_applyIconTrue",e="decoration/table/boolean-true.png",d="qx.ui.table.cellrenderer.Boolean",c=";padding-top:4px;",b="decoration/table/boolean-false.png",a="_applyIconFalse";
qx.Class.define(d,{extend:qx.ui.table.cellrenderer.AbstractImage,construct:function(){qx.ui.table.cellrenderer.AbstractImage.call(this);
this.__rk=qx.util.AliasManager.getInstance();
this.initIconTrue();
this.initIconFalse();
},properties:{iconTrue:{check:g,init:e,apply:f},iconFalse:{check:g,init:b,apply:a}},members:{__rl:null,__rm:false,__rk:null,_applyIconTrue:function(h){this.__rl=this.__rk.resolve(h);
},_applyIconFalse:function(i){this.__rm=this.__rk.resolve(i);
},_insetY:5,_getCellStyle:function(j){return qx.ui.table.cellrenderer.AbstractImage.prototype._getCellStyle.call(this,j)+c;
},_identifyImage:function(k){var l={imageWidth:11,imageHeight:11};

switch(k.value){case true:l.url=this.__rl;
break;
case false:l.url=this.__rm;
break;
default:l.url=null;
break;
}return l;
}},destruct:function(){this.__rk=null;
}});
})();
(function(){var i="keypress",h="Enter",g="qx.ui.table.celleditor.CheckBox",f="focus",d="center",c="keydown",b="middle",a="activate";
qx.Class.define(g,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,members:{createCellEditor:function(j){var l=new qx.ui.container.Composite(new qx.ui.layout.HBox().set({alignX:d,alignY:b})).set({focusable:true});
var k=new qx.ui.form.CheckBox().set({value:j.value});
l.add(k);
l.addListener(f,function(){k.focus();
});
l.addListener(a,function(){k.activate();
});
k.addListener(c,function(e){if(e.getKeyIdentifier()==h){var m=qx.event.Pool.getInstance().getObject(qx.event.type.KeySequence);
var n=l.getContainerElement().getDomElement();
m.init(e.getNativeEvent(),n,e.getKeyIdentifier());
m.setType(i);
qx.event.Registration.dispatchEvent(n,m);
}},this);
return l;
},getCellEditorValue:function(o){return o.getChildren()[0].getValue();
}}});
})();
(function(){var b="changeModel",a="qx.ui.form.MModelProperty";
qx.Mixin.define(a,{properties:{model:{nullable:true,event:b,dereference:true}}});
})();
(function(){var b="qx.ui.form.IRadioItem",a="qx.event.type.Data";
qx.Interface.define(b,{events:{"changeValue":a},members:{setValue:function(c){},getValue:function(){},setGroup:function(d){this.assertInstance(d,qx.ui.form.RadioGroup);
},getGroup:function(){}}});
})();
(function(){var k="pressed",j="abandoned",i="hovered",h="Boolean",g="Space",f="undetermined",d="Enter",c="checked",b="mousedown",a="_applyTriState",w="mouseout",v="changeValue",u="keydown",t="_applyGroup",s="button",r="execute",q="qx.ui.form.RadioGroup",p="_applyValue",o="qx.ui.form.ToggleButton",n="mouseover",l="keyup",m="mouseup";
qx.Class.define(o,{extend:qx.ui.basic.Atom,include:[qx.ui.core.MExecutable],implement:[qx.ui.form.IBooleanForm,qx.ui.form.IExecutable,qx.ui.form.IRadioItem],construct:function(x,y){qx.ui.basic.Atom.call(this,x,y);
this.addListener(n,this._onMouseOver);
this.addListener(w,this._onMouseOut);
this.addListener(b,this._onMouseDown);
this.addListener(m,this._onMouseUp);
this.addListener(u,this._onKeyDown);
this.addListener(l,this._onKeyUp);
this.addListener(r,this._onExecute,this);
},properties:{appearance:{refine:true,init:s},focusable:{refine:true,init:true},value:{check:h,nullable:true,event:v,apply:p,init:false},group:{check:q,nullable:true,apply:t},triState:{check:h,apply:a,nullable:true,init:null}},members:{_applyGroup:function(z,A){if(A){A.remove(this);
}
if(z){z.add(this);
}},_applyValue:function(B,C){B?this.addState(c):this.removeState(c);

if(this.isTriState()){if(B===null){this.addState(f);
}else if(C===null){this.removeState(f);
}}},_applyTriState:function(D,E){this._applyValue(this.getValue());
},_onExecute:function(e){this.toggleValue();
},_onMouseOver:function(e){if(e.getTarget()!==this){return;
}this.addState(i);

if(this.hasState(j)){this.removeState(j);
this.addState(k);
}},_onMouseOut:function(e){if(e.getTarget()!==this){return;
}this.removeState(i);

if(this.hasState(k)){if(!this.getValue()){this.removeState(k);
}this.addState(j);
}},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}this.capture();
this.removeState(j);
this.addState(k);
e.stopPropagation();
},_onMouseUp:function(e){this.releaseCapture();

if(this.hasState(j)){this.removeState(j);
}else if(this.hasState(k)){this.execute();
}this.removeState(k);
e.stopPropagation();
},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case d:case g:this.removeState(j);
this.addState(k);
e.stopPropagation();
}},_onKeyUp:function(e){if(!this.hasState(k)){return;
}
switch(e.getKeyIdentifier()){case d:case g:this.removeState(j);
this.execute();
this.removeState(k);
e.stopPropagation();
}}}});
})();
(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 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 f="__rn",d="qx.ui.core.MSingleSelectionHandling",c="changeSelection",b="changeSelected",a="qx.event.type.Data";
qx.Mixin.define(d,{events:{"changeSelection":a},members:{__rn:null,getSelection:function(){var g=this.__ro().getSelected();

if(g){return [g];
}else{return [];
}},setSelection:function(h){switch(h.length){case 0:this.resetSelection();
break;
case 1:this.__ro().setSelected(h[0]);
break;
default:throw new Error("Could only select one item, but the selection"+" array contains "+h.length+" items!");
}},resetSelection:function(){this.__ro().resetSelected();
},isSelected:function(i){return this.__ro().isSelected(i);
},isSelectionEmpty:function(){return this.__ro().isSelectionEmpty();
},getSelectables:function(j){return this.__ro().getSelectables(j);
},_onChangeSelected:function(e){var l=e.getData();
var k=e.getOldData();
l==null?l=[]:l=[l];
k==null?k=[]:k=[k];
this.fireDataEvent(c,l,k);
},__ro:function(){if(this.__rn==null){var m=this;
this.__rn=new qx.ui.core.SingleSelectionManager({getItems:function(){return m._getItems();
},isItemSelectable:function(n){if(m._isItemSelectable){return m._isItemSelectable(n);
}else{return n.isVisible();
}}});
this.__rn.addListener(b,this._onChangeSelected,this);
}this.__rn.setAllowEmptySelection(this._isAllowEmptySelection());
return this.__rn;
}},destruct:function(){this._disposeObjects(f);
}});
})();
(function(){var r="Boolean",q="changeInvalidMessage",p="changeValue",o="String",n="_applyAllowEmptySelection",m="_applyInvalidMessage",k="qx.ui.form.RadioGroup",j="_applyValid",h="",g="changeRequired",c="__rp",f="changeValid",d="changeEnabled",b="changeSelection",a="_applyEnabled";
qx.Class.define(k,{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(s){qx.core.Object.call(this);
this.__rp=[];
this.addListener(b,this.__rq,this);

if(s!=null){this.add.apply(this,arguments);
}},properties:{enabled:{check:r,apply:a,event:d,init:true},wrap:{check:r,init:true},allowEmptySelection:{check:r,init:false,apply:n},valid:{check:r,init:true,apply:j,event:f},required:{check:r,init:false,event:g},invalidMessage:{check:o,init:h,event:q,apply:m},requiredInvalidMessage:{check:o,nullable:true,event:q}},members:{__rp:null,getItems:function(){return this.__rp;
},add:function(t){var u=this.__rp;
var v;

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

if(qx.lang.Array.contains(u,v)){continue;
}v.addListener(p,this._onItemChangeChecked,this);
u.push(v);
v.setGroup(this);
if(v.getValue()){this.setSelection([v]);
}}if(!this.isAllowEmptySelection()&&u.length>0&&!this.getSelection()[0]){this.setSelection([u[0]]);
}},remove:function(w){var x=this.__rp;

if(qx.lang.Array.contains(x,w)){qx.lang.Array.remove(x,w);
if(w.getGroup()===this){w.resetGroup();
}w.removeListener(p,this._onItemChangeChecked,this);
if(w.getValue()){this.resetSelection();
}}},getChildren:function(){return this.__rp;
},_onItemChangeChecked:function(e){var y=e.getTarget();

if(y.getValue()){this.setSelection([y]);
}else if(this.getSelection()[0]==y){this.resetSelection();
}},_applyInvalidMessage:function(z,A){for(var i=0;i<this.__rp.length;i++){this.__rp[i].setInvalidMessage(z);
}},_applyValid:function(B,C){for(var i=0;i<this.__rp.length;i++){this.__rp[i].setValid(B);
}},_applyEnabled:function(D,E){var F=this.__rp;

if(D==null){for(var i=0,l=F.length;i<l;i++){F[i].resetEnabled();
}}else{for(var i=0,l=F.length;i<l;i++){F[i].setEnabled(D);
}}},_applyAllowEmptySelection:function(G,H){if(!G&&this.isSelectionEmpty()){this.resetSelection();
}},selectNext:function(){var I=this.getSelection()[0];
var K=this.__rp;
var J=K.indexOf(I);

if(J==-1){return;
}var i=0;
var length=K.length;
if(this.getWrap()){J=(J+1)%length;
}else{J=Math.min(J+1,length-1);
}
while(i<length&&!K[J].getEnabled()){J=(J+1)%length;
i++;
}this.setSelection([K[J]]);
},selectPrevious:function(){var L=this.getSelection()[0];
var N=this.__rp;
var M=N.indexOf(L);

if(M==-1){return;
}var i=0;
var length=N.length;
if(this.getWrap()){M=(M-1+length)%length;
}else{M=Math.max(M-1,0);
}
while(i<length&&!N[M].getEnabled()){M=(M-1+length)%length;
i++;
}this.setSelection([N[M]]);
},_getItems:function(){return this.getItems();
},_isAllowEmptySelection:function(){return this.isAllowEmptySelection();
},__rq: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(c);
}});
})();
(function(){var g="Boolean",f="qx.ui.core.SingleSelectionManager",e="__rr",d="__rs",c="changeSelected",b="__rt",a="qx.event.type.Data";
qx.Class.define(f,{extend:qx.core.Object,construct:function(h){qx.core.Object.call(this);
{};
this.__rr=h;
},events:{"changeSelected":a},properties:{allowEmptySelection:{check:g,init:true,apply:b}},members:{__rs:null,__rr:null,getSelected:function(){return this.__rs;
},setSelected:function(j){if(!this.__rv(j)){throw new Error("Could not select "+j+", because it is not a child element!");
}this.__ru(j);
},resetSelected:function(){this.__ru(null);
},isSelected:function(k){if(!this.__rv(k)){throw new Error("Could not check if "+k+" is selected,"+" because it is not a child element!");
}return this.__rs===k;
},isSelectionEmpty:function(){return this.__rs==null;
},getSelectables:function(l){var m=this.__rr.getItems();
var n=[];

for(var i=0;i<m.length;i++){if(this.__rr.isItemSelectable(m[i])){n.push(m[i]);
}}if(!l){for(var i=n.length-1;i>=0;i--){if(!n[i].getEnabled()){n.splice(i,1);
}}}return n;
},__rt:function(o,p){if(!o){this.__ru(this.__rs);
}},__ru:function(q){var t=this.__rs;
var s=q;

if(s!=null&&t===s){return;
}
if(!this.isAllowEmptySelection()&&s==null){var r=this.getSelectables(true)[0];

if(r){s=r;
}}this.__rs=s;
this.fireDataEvent(c,s,t);
},__rv:function(u){var v=this.__rr.getItems();

for(var i=0;i<v.length;i++){if(v[i]===u){return true;
}}return false;
}},destruct:function(){if(this.__rr.toHashCode){this._disposeObjects(e);
}else{this.__rr=null;
}this._disposeObjects(d);
}});
})();
(function(){var d="",c="qx.util.format.DateFormat",b="qooxdoo-table-cell",a="qx.ui.table.cellrenderer.Date";
qx.Class.define(a,{extend:qx.ui.table.cellrenderer.Conditional,properties:{dateFormat:{check:c,init:null,nullable:true}},members:{_getContentHtml:function(e){var f=this.getDateFormat();

if(f){if(e.value){return qx.bom.String.escape(f.format(e.value));
}else{return d;
}}else{return e.value||d;
}},_getCellClass:function(g){return b;
}}});
})();
(function(){var f="DateField",e="DateTimePicker",d="TimeField",c="datefield",b="track.tasks.DateFieldFactory",a="medium";
qx.Class.define(b,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,properties:{type:f},members:{createCellEditor:function(g){var j=new qx.ui.form.DateField();

if(this.getType()==f){j.set({appearance:c});
var i=qx.locale.Date.getDateFormat(a,qx.locale.Manager.getInstance().getLocale());
var h=new qx.util.format.DateFormat(i);
j.setDateFormat(h);
}else if(this.getType()==d){j=new track.util.TimeField();
}else if(this.getType()==e){j=new track.util.DateTimePicker();
}j.setValue(g.value);
return j;
},getCellEditorValue:function(k){var l=k.getValue()||new Date();
return l;
}}});
})();
(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(y){return this._defaultFormat(y);
},nullable:true}},members:{_createChildControlImpl:function(z,A){var B;

switch(z){case u:B=new qx.ui.form.List().set({focusable:false,keepFocus:true,height:null,width:null,maxHeight:this.getMaxListHeight(),selectionMode:j,quickSelection:true});
B.addListener(f,this._onListChangeSelection,this);
B.addListener(d,this._onListMouseDown,this);
break;
case v:B=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
B.setAutoHide(false);
B.setKeepActive(true);
B.addListener(b,this.close,this);
B.add(this.getChildControl(u));
B.addListener(g,this._onPopupChangeVisibility,this);
break;
}return B||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,z);
},_applyMaxListHeight:function(C,D){this.getChildControl(u).setMaxHeight(C);
},getChildrenContainer:function(){return this.getChildControl(u);
},open:function(){var E=this.getChildControl(v);
E.placeToWidget(this,true);
E.show();
},close:function(){this.getChildControl(v).hide();
},toggle:function(){var F=this.getChildControl(v).isVisible();

if(F){this.close();
}else{this.open();
}},_defaultFormat:function(G){var H=G?G.getLabel():t;
var I=G?G.getRich():false;

if(I){H=H.replace(/<[^>]+?>/g,t);
H=qx.bom.String.unescape(H);
}return H;
},_onBlur:function(e){this.close();
},_onKeyPress:function(e){var J=e.getKeyIdentifier();
var K=this.getChildControl(v);
if(K.isHidden()&&(J==c||J==l)){e.stopPropagation();
}else if(!K.isHidden()&&J==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 N=qx.core.Init.getApplication().getRoot();

if(N){N.removeListener(s,this._onMousewheel,this,true);
}}});
})();
(function(){var u="textfield",t="button",s="list",r="selected",q="focusout",p="inner",o="changeValue",n="popup",m="focusin",l="combobox",d="click",k="blur",h="Enter",c="quick",b="_applyPlaceholder",g="qx.ui.form.ComboBox",f="single",i="Down",a="String",j="qx.event.type.Data";
qx.Class.define(g,{extend:qx.ui.form.AbstractSelectBox,implement:[qx.ui.form.IStringForm],construct:function(){qx.ui.form.AbstractSelectBox.call(this);
var v=this._createChildControl(u);
this._createChildControl(t);
this.addListener(d,this._onClick);
this.addListener(m,function(e){v.fireNonBubblingEvent(m,qx.event.type.Focus);
},this);
this.addListener(q,function(e){v.fireNonBubblingEvent(q,qx.event.type.Focus);
},this);
},properties:{appearance:{refine:true,init:l},placeholder:{check:a,nullable:true,apply:b}},events:{"changeValue":j},members:{__rw:null,__rx:null,_applyPlaceholder:function(w,x){this.getChildControl(u).setPlaceholder(w);
},_createChildControlImpl:function(y,z){var A;

switch(y){case u:A=new qx.ui.form.TextField();
A.setFocusable(false);
A.addState(p);
A.addListener(o,this._onTextFieldChangeValue,this);
A.addListener(k,this.close,this);
this._add(A,{flex:1});
break;
case t:A=new qx.ui.form.Button();
A.setFocusable(false);
A.setKeepActive(true);
A.addState(p);
this._add(A);
break;
case s:A=qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,y);
A.setSelectionMode(f);
break;
}return A||qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,y);
},_forwardStates:{focused:true},tabFocus:function(){var B=this.getChildControl(u);
B.getFocusElement().focus();
B.selectAllText();
},focus:function(){qx.ui.form.AbstractSelectBox.prototype.focus.call(this);
this.getChildControl(u).getFocusElement().focus();
},setValue:function(C){var D=this.getChildControl(u);

if(D.getValue()==C){return;
}D.setValue(C);
},getValue:function(){return this.getChildControl(u).getValue();
},resetValue:function(){this.getChildControl(u).setValue(null);
},_onKeyPress:function(e){var F=this.getChildControl(n);
var E=e.getKeyIdentifier();

if(E==i&&e.isAltPressed()){this.getChildControl(t).addState(r);
this.toggle();
e.stopPropagation();
}else if(E==h){if(F.isVisible()){this.close();
e.stop();
}}else if(F.isVisible()){qx.ui.form.AbstractSelectBox.prototype._onKeyPress.call(this,e);
}},_onClick:function(e){var G=e.getTarget();

if(G==this.getChildControl(t)){this.toggle();
}else{this.close();
}},_onListMouseDown:function(e){if(this.__rw){var H=this.__rw.getLabel();

if(this.getFormat()!=null){H=this.getFormat().call(this,this.__rw);
}if(H&&H.translate){H=H.translate();
}this.setValue(H);
this.__rw=null;
}},_onListChangeSelection:function(e){var I=e.getData();

if(I.length>0){var J=this.getChildControl(s);

if(J.getSelectionContext()==c){this.__rw=I[0];
}else{var K=I[0].getLabel();

if(this.getFormat()!=null){K=this.getFormat().call(this,I[0]);
}if(K&&K.translate){K=K.translate();
}this.setValue(K);
this.__rw=null;
}}},_onPopupChangeVisibility:function(e){var M=this.getChildControl(n);

if(M.isVisible()){var N=this.getChildControl(s);
var O=this.getValue();
var L=null;

if(O){L=N.findItem(O);
}
if(L){N.setSelection([L]);
}else{N.resetSelection();
}}else{this.tabFocus();
}this.getChildControl(t).removeState(r);
},_onTextFieldChangeValue:function(e){var R=e.getData();
var Q=this.getChildControl(s);

if(R!=null){var P=Q.findItem(R,false);

if(P){Q.setSelection([P]);
}else{Q.resetSelection();
}}else{Q.resetSelection();
}this.fireDataEvent(o,R,e.getOldData());
},getTextSelection:function(){return this.getChildControl(u).getTextSelection();
},getTextSelectionLength:function(){return this.getChildControl(u).getTextSelectionLength();
},setTextSelection:function(S,T){this.getChildControl(u).setTextSelection(S,T);
},clearTextSelection:function(){this.getChildControl(u).clearTextSelection();
},selectAllText:function(){this.getChildControl(u).selectAllText();
}}});
})();
(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 k="list",j="textfield",i="popup",h="Down",g="",f="Escape",d="qx.util.format.DateFormat",c="changeValue",b="Left",a="Up",w="execute",v="changeLocale",u="_applyDateFormat",t="changeVisibility",s="qx.dynlocale",r="medium",q="mouseup",p="qx.ui.form.DateField",o="datefield",n="hidden",l="on",m="Right";
qx.Class.define(p,{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(s,l)){qx.locale.Manager.getInstance().addListener(v,function(){this.setDateFormat(qx.ui.form.DateField.getDefaultDateFormatter());
},this);
}},properties:{appearance:{refine:true,init:o},dateFormat:{check:d,apply:u}},statics:{__ry:null,__rz:null,getDefaultDateFormatter:function(){var x=qx.locale.Date.getDateFormat(r).toString();

if(x==this.__ry){return this.__rz;
}
if(this.__rz){this.__rz.dispose();
}this.__rz=new qx.util.format.DateFormat(x,qx.locale.Manager.getInstance().getLocale());
this.__ry=x;
return this.__rz;
}},members:{setValue:function(y){var z=this.getChildControl(j);
z.setValue(this.getDateFormat().format(y));
var A=this.getChildControl(k);
A.setValue(y);
},getValue:function(){var B=this.getChildControl(j).getValue();
try{return this.getDateFormat().parse(B);
}catch(C){return null;
}},resetValue:function(){var D=this.getChildControl(j);
D.setValue(g);
var E=this.getChildControl(k);
E.setValue(null);
},_applyDateFormat:function(F,G){if(!G){return;
}try{var I=this.getChildControl(j);
var J=I.getValue();
var H=G.parse(J);
I.setValue(F.format(H));
}catch(K){}},_createChildControlImpl:function(L,M){var N;

switch(L){case k:N=new qx.ui.control.DateChooser();
N.setFocusable(false);
N.setKeepFocus(true);
N.addListener(w,this._onChangeDate,this);
break;
case i:N=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
N.setAutoHide(false);
N.add(this.getChildControl(k));
N.addListener(q,this._onChangeDate,this);
N.addListener(t,this._onPopupChangeVisibility,this);
break;
}return N||qx.ui.form.ComboBox.prototype._createChildControlImpl.call(this,L);
},_onChangeDate:function(e){var O=this.getChildControl(j);
var P=this.getChildControl(k).getValue();
O.setValue(this.getDateFormat().format(P));
this.close();
},_onKeyPress:function(e){var Q=e.getKeyIdentifier();

if(Q==h&&e.isAltPressed()){this.toggle();
e.stopPropagation();
return;
}var R=this.getChildControl(i);

if(R.getVisibility()==n){return;
}if(Q==f){this.close();
e.stopPropagation();
return;
}if(Q===b||Q===m||Q===h||Q===a){e.preventDefault();
}this.getChildControl(k).handleKeyPress(e);
},_onPopupChangeVisibility:function(e){var T=this.getChildControl(i);

if(T.isVisible()){var U=this.getChildControl(k);
var S=this.getValue();
U.setValue(S);
}},_onTextFieldChangeValue:function(e){var V=this.getValue();

if(V!=null){var W=this.getChildControl(k);
W.setValue(V);
}this.fireDataEvent(c,this.getValue());
},isEmpty:function(){var X=this.getChildControl(j).getValue();
return X==null||X==g;
}}});
})();
(function(){var m="selected",l="click",k="last-month-button",j="default",h="next-month-button",g="otherMonth",f="month-year-label",d="last-year-button",c="navigation-bar",b="next-year-button",bm="date-pane",bl="PageUp",bk="mousedown",bj="today",bi="Integer",bh="PageDown",bg="changeLocale",bf="next-month-button-tooltip",be="last-month-button-tooltip",bd="qx.dynlocale",t="last-year-button-tooltip",u="next-year-button-tooltip",r="on",s="weekend",p="day",q="lastMonth",n="Next month",o="Escape",z="Left",A="weekday",I="changeValue",G="Space",Q="Down",L="qx.ui.control.DateChooser",Y="Date",V="Enter",C="dblclick",bc="day#",bb="Next year",ba="ww",B="_applyValue",E="Up",F="weekday#",H="datechooser",J="header",M="week",S="lastYear",X="nextYear",v="changeShownYear",w="week#",D="Last month",P="Right",O="Last year",N="EE",U="mouseup",T="keypress",K="",R="nextMonth",a="week#0",W="changeShownMonth";
qx.Class.define(L,{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(bn){qx.ui.core.Widget.call(this);
var bp=new qx.ui.layout.VBox();
this._setLayout(bp);
this._createChildControl(c);
this._createChildControl(bm);
this.addListener(T,this._onKeyPress);
var bo=(bn!=null)?bn:new Date();
this.showMonth(bo.getMonth(),bo.getFullYear());
if(qx.core.Variant.isSet(bd,r)){qx.locale.Manager.getInstance().addListener(bg,this._updateDatePane,this);
}this.addListener(bk,this._onMouseUpDown,this);
this.addListener(U,this._onMouseUpDown,this);
},statics:{MONTH_YEAR_FORMAT:qx.locale.Date.getDateTimeFormat("yyyyMMMM","MMMM yyyy")},properties:{appearance:{refine:true,init:H},width:{refine:true,init:200},height:{refine:true,init:150},shownMonth:{check:bi,init:null,nullable:true,event:W},shownYear:{check:bi,init:null,nullable:true,event:v},value:{check:Y,init:null,nullable:true,event:I,apply:B}},members:{__rA:null,__rB:null,__rC:null,_forwardStates:{invalid:true},_createChildControlImpl:function(bq,br){var bs;

switch(bq){case c:bs=new qx.ui.container.Composite(new qx.ui.layout.HBox());
bs.add(this.getChildControl(d));
bs.add(this.getChildControl(k));
bs.add(this.getChildControl(f),{flex:1});
bs.add(this.getChildControl(h));
bs.add(this.getChildControl(b));
this._add(bs);
break;
case t:bs=new qx.ui.tooltip.ToolTip(this.tr(O));
break;
case d:bs=new qx.ui.toolbar.Button();
bs.addState(S);
bs.setFocusable(false);
bs.setToolTip(this.getChildControl(t));
bs.addListener(l,this._onNavButtonClicked,this);
break;
case be:bs=new qx.ui.tooltip.ToolTip(this.tr(D));
break;
case k:bs=new qx.ui.toolbar.Button();
bs.addState(q);
bs.setFocusable(false);
bs.setToolTip(this.getChildControl(be));
bs.addListener(l,this._onNavButtonClicked,this);
break;
case bf:bs=new qx.ui.tooltip.ToolTip(this.tr(n));
break;
case h:bs=new qx.ui.toolbar.Button();
bs.addState(R);
bs.setFocusable(false);
bs.setToolTip(this.getChildControl(bf));
bs.addListener(l,this._onNavButtonClicked,this);
break;
case u:bs=new qx.ui.tooltip.ToolTip(this.tr(bb));
break;
case b:bs=new qx.ui.toolbar.Button();
bs.addState(X);
bs.setFocusable(false);
bs.setToolTip(this.getChildControl(u));
bs.addListener(l,this._onNavButtonClicked,this);
break;
case f:bs=new qx.ui.basic.Label();
bs.setAllowGrowX(true);
bs.setAnonymous(true);
break;
case M:bs=new qx.ui.basic.Label();
bs.setAllowGrowX(true);
bs.setAllowGrowY(true);
bs.setSelectable(false);
bs.setAnonymous(true);
bs.setCursor(j);
break;
case A:bs=new qx.ui.basic.Label();
bs.setAllowGrowX(true);
bs.setAllowGrowY(true);
bs.setSelectable(false);
bs.setAnonymous(true);
bs.setCursor(j);
break;
case p:bs=new qx.ui.basic.Label();
bs.setAllowGrowX(true);
bs.setAllowGrowY(true);
bs.setCursor(j);
bs.addListener(bk,this._onDayClicked,this);
bs.addListener(C,this._onDayDblClicked,this);
break;
case bm:var bt=new qx.ui.layout.Grid();
bs=new qx.ui.container.Composite(bt);

for(var i=0;i<8;i++){bt.setColumnFlex(i,1);
}
for(var i=0;i<7;i++){bt.setRowFlex(i,1);
}var bu=this.getChildControl(a);
bu.addState(J);
bs.add(bu,{column:0,row:0});
this.__rA=[];

for(var i=0;i<7;i++){bu=this.getChildControl(F+i);
bs.add(bu,{column:i+1,row:0});
this.__rA.push(bu);
}this.__rB=[];
this.__rC=[];

for(var y=0;y<6;y++){var bu=this.getChildControl(w+(y+1));
bs.add(bu,{column:0,row:y+1});
this.__rC.push(bu);
for(var x=0;x<7;x++){var bu=this.getChildControl(bc+((y*7)+x));
bs.add(bu,{column:x+1,row:y+1});
this.__rB.push(bu);
}}this._add(bs);
break;
}return bs||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bq);
},_applyValue:function(bv,bw){if((bv!=null)&&(this.getShownMonth()!=bv.getMonth()||this.getShownYear()!=bv.getFullYear())){this.showMonth(bv.getMonth(),bv.getFullYear());
}else{var by=(bv==null)?-1:bv.getDate();

for(var i=0;i<6*7;i++){var bx=this.__rB[i];

if(bx.hasState(g)){if(bx.hasState(m)){bx.removeState(m);
}}else{var bz=parseInt(bx.getValue(),10);

if(bz==by){bx.addState(m);
}else if(bx.hasState(m)){bx.removeState(m);
}}}}},_onMouseUpDown:function(e){var bA=e.getTarget();

if(bA==this.getChildControl(c)||bA==this.getChildControl(bm)){e.stopPropagation();
return;
}},_onNavButtonClicked:function(bB){var bD=this.getShownYear();
var bC=this.getShownMonth();

switch(bB.getCurrentTarget()){case this.getChildControl(d):bD--;
break;
case this.getChildControl(k):bC--;

if(bC<0){bC=11;
bD--;
}break;
case this.getChildControl(h):bC++;

if(bC>=12){bC=0;
bD++;
}break;
case this.getChildControl(b):bD++;
break;
}this.showMonth(bC,bD);
},_onDayClicked:function(bE){var bF=bE.getCurrentTarget().dateTime;
this.setValue(new Date(bF));
},_onDayDblClicked:function(){this.execute();
},_onKeyPress:function(bG){var bK=null;
var bI=null;
var bJ=null;

if(bG.getModifiers()==0){switch(bG.getKeyIdentifier()){case z:bK=-1;
break;
case P:bK=1;
break;
case E:bK=-7;
break;
case Q:bK=7;
break;
case bl:bI=-1;
break;
case bh:bI=1;
break;
case o:if(this.getValue()!=null){this.setValue(null);
return true;
}break;
case V:case G:if(this.getValue()!=null){this.execute();
}return;
}}else if(bG.isShiftPressed()){switch(bG.getKeyIdentifier()){case bl:bJ=-1;
break;
case bh:bJ=1;
break;
}}
if(bK!=null||bI!=null||bJ!=null){var bH=this.getValue();

if(bH!=null){bH=new Date(bH.getTime());
}
if(bH==null){bH=new Date();
}else{if(bK!=null){bH.setDate(bH.getDate()+bK);
}
if(bI!=null){bH.setMonth(bH.getMonth()+bI);
}
if(bJ!=null){bH.setFullYear(bH.getFullYear()+bJ);
}}this.setValue(bH);
}},showMonth:function(bL,bM){if((bL!=null&&bL!=this.getShownMonth())||(bM!=null&&bM!=this.getShownYear())){if(bL!=null){this.setShownMonth(bL);
}
if(bM!=null){this.setShownYear(bM);
}this._updateDatePane();
}},handleKeyPress:function(e){this._onKeyPress(e);
},_updateDatePane:function(){var cd=qx.ui.control.DateChooser;
var ca=new Date();
var bS=ca.getFullYear();
var bX=ca.getMonth();
var bV=ca.getDate();
var ce=this.getValue();
var ch=(ce==null)?-1:ce.getFullYear();
var co=(ce==null)?-1:ce.getMonth();
var cb=(ce==null)?-1:ce.getDate();
var bW=this.getShownMonth();
var cl=this.getShownYear();
var bT=qx.locale.Date.getWeekStart();
var cf=new Date(this.getShownYear(),this.getShownMonth(),1);
var cc=new qx.util.format.DateFormat(cd.MONTH_YEAR_FORMAT);
this.getChildControl(f).setValue(cc.format(cf));
var cn=cf.getDay();
var bY=1+((7-cn)%7);
var cg=new qx.util.format.DateFormat(N);

for(var i=0;i<7;i++){var ci=(i+bT)%7;
var ck=this.__rA[i];
cf.setDate(bY+ci);
ck.setValue(cg.format(cf));

if(qx.locale.Date.isWeekend(ci)){ck.addState(s);
}else{ck.removeState(s);
}}cf=new Date(cl,bW,1,12,0,0);
var bO=(7+cn-bT)%7;
cf.setDate(cf.getDate()-bO);
var cj=new qx.util.format.DateFormat(ba);

for(var bN=0;bN<6;bN++){this.__rC[bN].setValue(cj.format(cf));

for(var i=0;i<7;i++){var ck=this.__rB[bN*7+i];
var bR=cf.getFullYear();
var bQ=cf.getMonth();
var bU=cf.getDate();
var bP=(ch==bR&&co==bQ&&cb==bU);

if(bP){ck.addState(m);
}else{ck.removeState(m);
}
if(bQ!=bW){ck.addState(g);
}else{ck.removeState(g);
}var cm=(bR==bS&&bQ==bX&&bU==bV);

if(cm){ck.addState(bj);
}else{ck.removeState(bj);
}ck.setValue(K+bU);
ck.dateTime=cf.getTime();
cf.setDate(cf.getDate()+1);
}}cc.dispose();
cg.dispose();
cj.dispose();
}},destruct:function(){if(qx.core.Variant.isSet(bd,r)){qx.locale.Manager.getInstance().removeListener(bg,this._updateDatePane,this);
}this.__rA=this.__rB=this.__rC=null;
}});
})();
(function(){var e="inherit",d="toolbar-button",c="keydown",b="qx.ui.toolbar.Button",a="keyup";
qx.Class.define(b,{extend:qx.ui.form.Button,construct:function(f,g,h){qx.ui.form.Button.call(this,f,g,h);
this.removeListener(c,this._onKeyDown);
this.removeListener(a,this._onKeyUp);
},properties:{appearance:{refine:true,init:d},show:{refine:true,init:e},focusable:{refine:true,init:false}}});
})();
(function(){var q="list",p="textfield",o=":",n="popup",l="",k="0:00",j="00",i="mouseup",h="track.util.TimeField",g=":0",c="releaseSlider",f="changeValue",d="watcheetimefield",b="button";
qx.Class.define(h,{extend:qx.ui.form.ComboBox,construct:function(){qx.ui.form.ComboBox.call(this);
this.getChildControl(p).setValue(k);
},properties:{appearance:{refine:true,init:d}},members:{_onClick:function(e){var r=this.getChildControl(n).isVisible();
var s=e.getTarget();
this.info("target="+s);

if(s==this.getChildControl(b)){this.toggle();
}else{this.closePopup();
}},toggle:function(){var t=this.getChildControl(n).isVisible();

if(t){this.closePopup();
}else{this.open();
this.getChildControl(q).slider.activate();
}},close:function(){var a=1;
},closePopup:function(){this.getChildControl(n).hide();
},setValue:function(u){var w=this.getChildControl(p);
var m=u.getMinutes();

if(m==0){m=j;
}var v=u.getSeconds();
var z=l;

if(v!=0){if(v<10)z=g+v;
else z=o+v;
}w.setValue(u.getHours()+o+m+z);
var x=this.getChildControl(q);
x.setValue(u);
},getValue:function(){var B=this.getChildControl(p).getValue().replace(/\./g,o);
var A=new Date(0);
if(B.search(/(([01])?[0-9]|2[0-3]):[0-5][0-9]/)>-1||B.search(/(([01])?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/)>-1){var C=B.split(o);
A.setHours(C[0]);
A.setMinutes(C[1]);

if(C.length>2)A.setSeconds(C[2]);
return A;
}else{return A;
}},resetValue:function(){var D=this.getChildControl(p);
D.setValue(k);
var E=this.getChildControl(q);
E.setValue(0);
},_createChildControlImpl:function(F){var G;

switch(F){case q:G=new track.util.DayTimeSlider();
G.createTimer(l,0,200);
G.setFocusable(false);
G.setKeepFocus(true);
G.addListener(c,this._onChangeDate,this);
break;
case n:G=new qx.ui.popup.Popup(new qx.ui.layout.VBox);
G.setAutoHide(false);
G.add(this.getChildControl(q));
G.addListener(i,this._onChangeDate,this);
break;
}return G||qx.ui.form.ComboBox.prototype._createChildControlImpl.call(this,F);
},findItem:function(y){},_onChangeDate:function(e){var I=this.getChildControl(p);
var H=this.getChildControl(q).getValue();
var J=H.getMinutes();

if(J==0)J=j;
I.setValue(H.getHours()+o+J);
this.closePopup();
},_onTextFieldChangeValue:function(e){var K=this.getValue();

if(K!=null){var L=this.getChildControl(q);
L.setValue(K);
}this.fireDataEvent(f,this.getValue());
},isEmpty:function(){var M=this.getChildControl(p).getValue();
return M==null||M==l;
}}});
})();
(function(){var k="",j="bottom",i="releaseSlider",h="grey",g="Escape",f='',d="changeValue",c="00",b="center",a=" ",w="qx.event.type.Event",v=":",u="h",t="0:00",s="right",r="mouseup",q="keypress",p="track.util.DayTimeSlider",o="hour abbreviation",n="button-pressed",l="23:45",m="left";
qx.Class.define(p,{extend:qx.ui.container.Composite,construct:function(x){qx.ui.container.Composite.call(this);
this.setLayout(new qx.ui.layout.HBox());
this.slider=new track.util.WatcheeSlider(x);
this.slider.addListener(r,function(){this.fireEvent(i);
},this);
this.slider.addListener(q,function(e){if(e.getKeyIdentifier()==g){this.fireEvent(i);
}},this);
this.hourAbrev=this.trc(o,u);
this.minValue=0;
this.maxValue=95;
this.minAllowed=this.minValue;
this.maxAllowed=this.maxValue;
},events:{"releaseSlider":w},members:{createTimer:function(y,z,A){var y=y||k;
var z=z||12;
var A=A||400;

if(A>0)this.setWidth(A);
if(y!=f){var B=new qx.ui.basic.Label(y);
this.add(B);
}var D=new qx.ui.layout.Grid();
D.setSpacing(1);
D.setColumnFlex(0,1);
D.setColumnFlex(1,1);
D.setColumnFlex(2,1);
D.setColumnAlign(0,m,j);
D.setColumnAlign(1,b,j);
D.setColumnAlign(2,s,j);
var E=new qx.ui.container.Composite(D);
E.setWidth(A);
this.slider.set({width:A,minimum:this.minValue,maximum:this.maxValue,singleStep:1,pageStep:4,value:z*4});
var F=new qx.ui.basic.Label(t+this.hourAbrev);
F.setTextColor(h);
var G=new qx.ui.basic.Label(l+this.hourAbrev);
G.setTextColor(h);
var C=new qx.ui.basic.Label(this.__rD(this.slider.getValue()).time+this.hourAbrev);
this.slider.addListener(d,function(e){C.setValue(this.__rD(this.slider.getValue()).time+this.hourAbrev);
},this);
E.add(F,{row:0,column:0});
E.add(C,{row:0,column:1});
E.add(G,{row:0,column:2});
E.add(this.slider,{row:1,column:0,colSpan:3,rowSpan:1});
this.add(E);
this.setDecorator(n);
return this;
},handleKeyPress:function(){this.slider.handleKeyPress(e);
},moveSliderTo:function(H,I){this.slider.setValue(H*4+Math.floor(I/15.0));
},__rD: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=a+Q;
var P=Math.round((R/4.0-N)*60);
var M=((P==0)?c:k+P);
var O=(k+Q+v+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(S){if(this.slider!=null){this.slider.setValue(S);
}},getMinuteStr:function(){if(this.slider==null)return k;
return this.__rD(this.slider.getValue(),false).minutes;
},getHourStr:function(){if(this.slider==null)return k;
return this.__rD(this.slider.getValue(),false).hours;
},getTimeStr:function(){if(this.slider==null)return k;
return this.__rD(this.slider.getValue(),false).time;
},getValue:function(){var T=new Date(0);
T.setHours(parseInt(this.getHourStr()));
T.setMinutes(parseInt(this.getMinuteStr()));
this.info("DayTimeSlider getValue: "+T.getHours()+":"+T.getMinutes());
return T;
},setValue:function(U){this.moveSliderTo(U.getHours(),U.getMinutes());
}},destruct:function(){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;
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 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.__rE=new qx.ui.form.DateField();
this.add(this.__rE);
this.__rF=new track.util.TimeField();
this.add(this.__rF);
},members:{__rF:null,__rE:null,setValue:function(b){this.__rE.setValue(b);
this.__rF.setValue(b);
},getValue:function(){var c=this.__rE.getValue();
var d=this.__rF.getValue();
c.setHours(d.getHours());
c.setMinutes(d.getMinutes());
c.setSeconds(d.getSeconds());
return c;
},resetValue:function(){this.__rE.setValue(0);
this.__rF.setValue(0);
},setDateFormat:function(e){this.__rE.setDateFormat(e);
}}});
})();
(function(){var c="",b="qx.ui.table.headerrenderer.Icon",a="String";
qx.Class.define(b,{extend:qx.ui.table.headerrenderer.Default,construct:function(d,e){qx.ui.table.headerrenderer.Default.call(this);

if(d==null){d=c;
}this.setIconUrl(d);

if(e){this.setToolTip(e);
}},properties:{iconUrl:{check:a,init:c}},members:{updateHeaderCell:function(f,g){qx.ui.table.headerrenderer.Default.prototype.updateHeaderCell.call(this,f,g);
g.setIcon(this.getIconUrl());
}}});
})();
(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 k="list",j="atom",i="pressed",h="abandoned",g="popup",f="hovered",d="changeLabel",c="changeIcon",b="arrow",a="",z="spacer",y="Enter",x="one",w="mouseout",v="Space",u="key",t="mousewheel",s="keyinput",r="changeSelection",q="quick",o="qx.ui.form.SelectBox",p="mouseover",m="selectbox",n="click",l=" ";
qx.Class.define(o,{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(j);
this._createChildControl(z);
this._createChildControl(b);
this.addListener(p,this._onMouseOver,this);
this.addListener(w,this._onMouseOut,this);
this.addListener(n,this._onClick,this);
this.addListener(t,this._onMouseWheel,this);
this.addListener(s,this._onKeyInput,this);
this.addListener(r,this.__rH,this);
},properties:{appearance:{refine:true,init:m}},members:{__rG:null,_createChildControlImpl:function(A,B){var C;

switch(A){case z:C=new qx.ui.core.Spacer();
this._add(C,{flex:1});
break;
case j:C=new qx.ui.basic.Atom(l);
C.setCenter(false);
C.setAnonymous(true);
this._add(C,{flex:1});
break;
case b:C=new qx.ui.basic.Image();
C.setAnonymous(true);
this._add(C);
break;
}return C||qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,A);
},_forwardStates:{focused:true},_getItems:function(){return this.getChildrenContainer().getChildren();
},_isAllowEmptySelection:function(){return this.getChildrenContainer().getSelectionMode()!==x;
},__rH:function(e){var E=e.getData()[0];
var D=this.getChildControl(k);

if(D.getSelection()[0]!=E){if(E){D.setSelection([E]);
}else{D.resetSelection();
}}this.__rI();
this.__rJ();
},__rI:function(){var G=this.getChildControl(k).getSelection()[0];
var H=this.getChildControl(j);
var F=G?G.getIcon():a;
F==null?H.resetIcon():H.setIcon(F);
},__rJ:function(){var K=this.getChildControl(k).getSelection()[0];
var L=this.getChildControl(j);
var J=K?K.getLabel():a;
var I=this.getFormat();

if(I!=null){J=I.call(this,K);
}if(J&&J.translate){J=J.translate();
}J==null?L.resetLabel():L.setLabel(J);
},_onMouseOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}
if(this.hasState(h)){this.removeState(h);
this.addState(i);
}this.addState(f);
},_onMouseOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;
}this.removeState(f);

if(this.hasState(i)){this.removeState(i);
this.addState(h);
}},_onClick:function(e){this.toggle();
},_onMouseWheel:function(e){if(this.getChildControl(g).isVisible()){return;
}var N=e.getWheelDelta()>0?1:-1;
var P=this.getSelectables();
var O=this.getSelection()[0];

if(!O){O=P[0];
}var M=P.indexOf(O)+N;
var Q=P.length-1;
if(M<0){M=0;
}else if(M>=Q){M=Q;
}this.setSelection([P[M]]);
e.stopPropagation();
e.preventDefault();
},_onKeyPress:function(e){var R=e.getKeyIdentifier();

if(R==y||R==v){if(this.__rG){this.setSelection([this.__rG]);
this.__rG=null;
}this.toggle();
}else{qx.ui.form.AbstractSelectBox.prototype._onKeyPress.call(this,e);
}},_onKeyInput:function(e){var S=e.clone();
S.setTarget(this._list);
S.setBubbles(false);
this.getChildControl(k).dispatchEvent(S);
},_onListMouseDown:function(e){if(this.__rG){this.setSelection([this.__rG]);
this.__rG=null;
}},_onListChangeSelection:function(e){var T=e.getData();
var W=e.getOldData();
if(W&&W.length>0){W[0].removeListener(c,this.__rI,this);
W[0].removeListener(d,this.__rJ,this);
}
if(T.length>0){var V=this.getChildControl(g);
var U=this.getChildControl(k);
var X=U.getSelectionContext();

if(V.isVisible()&&(X==q||X==u)){this.__rG=T[0];
}else{this.setSelection([T[0]]);
this.__rG=null;
}T[0].addListener(c,this.__rI,this);
T[0].addListener(d,this.__rJ,this);
}else{this.resetSelection();
}},_onPopupChangeVisibility:function(e){var ba=this.getChildControl(g);

if(!ba.isVisible()){var bc=this.getChildControl(k);
if(bc.hasChildren()){bc.setSelection(this.getSelection());
}}else{var Y=ba.getLayoutLocation(this);
var be=qx.bom.Viewport.getHeight();
var bd=Y.top;
var bf=be-Y.bottom;
var bb=bd>bf?bd:bf;
var bg=this.getMaxListHeight();
var bc=this.getChildControl(k);

if(bg==null||bg>bb){bc.setMaxHeight(bb);
}else if(bg<bb){bc.setMaxHeight(bg);
}}}},destruct:function(){this.__rG=null;
}});
})();
(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 b="",a="track.tasks.StaticImageRenderer";
qx.Class.define(a,{extend:qx.ui.table.cellrenderer.AbstractImage,construct:function(c,d,e){qx.ui.table.cellrenderer.AbstractImage.call(this);

if(c){this.__rK=c;
}
if(d){this.__rL=d;
}
if(e){this.__rM=e;
}this.__rN=qx.util.AliasManager.getInstance();
},members:{__rN:null,__rL:16,__rK:16,__rM:b,_identifyImage:function(f){var g={imageWidth:this.__rK,imageHeight:this.__rL};

if(f.value==b){g.url=null;
}else{g.url=this.__rN.resolve(this.__rM);
}g.tooltip=f.tooltip;
return g;
}},destruct:function(){this.__rN=null;
}});
})();
(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 o="none",n="text",m="",l="userSelect",k="color",j="String",i="0px",h="webkit",g="changeHtml",f="_applyCssClass",c="class",e="qx.ui.embed.Html",d="_applyHtml",b="qx.client",a="html";
qx.Class.define(e,{extend:qx.ui.core.Widget,include:[qx.ui.core.MNativeOverflow],construct:function(p){qx.ui.core.Widget.call(this);

if(p!=null){this.setHtml(p);
}},properties:{html:{check:j,apply:d,event:g,nullable:true},cssClass:{check:j,init:m,apply:f},selectable:{refine:true,init:true},focusable:{refine:true,init:true}},members:{getFocusElement:function(){return this.getContentElement();
},_applyHtml:function(q,r){var s=this.getContentElement();
s.setAttribute(a,q||m);
s.setStyles({"padding":i,"border":o});
},_applyCssClass:function(t,u){this.getContentElement().setAttribute(c,t);
},_applySelectable:function(v){qx.ui.core.Widget.prototype._applySelectable.call(this,v);
if(qx.core.Variant.isSet(b,h)){this.getContainerElement().setStyle(l,v?n:o);
this.getContentElement().setStyle(l,v?n:o);
}},_applyFont:function(w,x){var y=w?qx.theme.manager.Font.getInstance().resolve(w).getStyles():qx.bom.Font.getDefaultStyles();
this.getContentElement().setStyles(y);
},_applyTextColor:function(z,A){if(z){this.getContentElement().setStyle(k,qx.theme.manager.Color.getInstance().resolve(z));
}else{this.getContentElement().removeStyle(k);
}}}});
})();
(function(){var fB="errorMsgBox",fA="AjaxAnimator",fz="",fy="<key oid='device.",fx="unSubscribe",fw='</div>',fv=":loginName",fu="subscribe",ft="device.",fs="xpath://key[starts-with(@oid,'device.')]",gU="infoMsgBox",gT=".cfg",gS="-",gR='<div class="roundedLogoContainer" style="margin:0px; margin-bottom: 0px; padding:0px; padding-bottom:0px; border-style: none;">',gQ="xsmsSenderName",gP="/",gO="Possible causes are:<br />",gN="<li>Your internet aceess was interrupted</li>",gM="<qos>",gL="</ol>",fI="<multiSubscribe>false</multiSubscribe>",fJ="<li>The ESC key was hit</li>",fG="<history numEntries='0' newestFirst='false'/>",fH="${localeLanguage}",fE="<updateOneway>false</updateOneway>",fF="</qos>",fC="welcomeBox",fD="<b>Lost server connection</b><p />",fK="<local>false</local>",fL="<ol>",dq="click",dp="Please try again later",ds="Logout",dr="resource.maintenance",du="DEVICE_RESPONSE",dt="Info Label",dw=":",dv="/iframelb/index.html",dn="removeBuddy",dm="myMapFrame",bR="Timeout",bS="loginName",bT="id",bU="public",bV="<key oid='",bW=".alarm'/>",bX=".status'/>",bY='</a>',ca="mapCenterLat",cb="autoLogin",hE="application/watchee.service.track.tracklist/gpx",hD="<initialUpdate>false</initialUpdate>",hC="sound/",hB="showMenuBar",hI='<div class="header" style="padding-top:12px;">',hH="removeFriendOf",hG=".cfg'/>",hF=":trackName",hK=".nmea'/>",hJ="Get geofences",gv="connect",gw="sendDeviceSettings",gt=".xsms'/>",gu=".ogg",gz="xSMS-error",gA="http://",gx="'/>",gy="sendChangeAccountProperty",gr="header",gs="mapCenterLng",en=".mp3",em="GPSvision",ep='<a href="http://gpsvision.de" style="text-decoration: none;" target="gpsvision.de">',eo="subscribeXSms",ej="user.geofence.usedByRule",ei="Received %1 friendOf",el="loginPre",ek='_cmdLoadProfile',eh="Processing onAjaxUpdate failure:<br /><br />MsgUnit.toXml(): <pre>",eg="Ssleep",gF="mapLineClicked",gG="msgUnit",gH="FALLBACK",gI="doAction",gB="Login is denied please check your your password.",gC="commandResponse",gD="_history",gE="Your sender nick-name",gJ="Geofence enter",gK=":oldPassword",ez="promptMsgBox.title",ey="Waking up from power save mode",ew="https://",eu="Received %1 buddies",et="ENTER_SLEEPMODE",es="subscribeAlarm failed: ",er='<span class="header">',eq="Ignoring received command list for device %1",eB="images/anim/watcheeAjax_32.gif",eA="sendGetAccountInfo",cG='<img src="images/logoGPSvision.png" width="280" border="0" alt="GPSvision.de"/>',cH="sendGetPermissionTemplates failed: ",cI="type",cJ="http://gpsvision.de/portalhelp",cK="user.security.authentication.accessDenied.unknownLoginName",cL="INVALID",cM="sendRemoveRule",cN=":filter/limit",cO="SCHEDULED_EVENT",cP="Tracker is sending locations with SMS",fa="setFriendOf",eY="Your request '%1' failed",eX="loginDone",eW="ALIVE",fe="GPSSIGNAL_LOST",fd="toolbar",fc="tree1",fb='_cmdSampleInOwnWindow',fg="debug",ff="Adding buddy '%1' failed, please check the login name",hm="showEmbeddedHtmlFrameBottom",hn="GPRS_OK",hk="16/actions/go-previous.png",hl="sendGetDeviceCommandList",hi="<b>Welcome to %1 Web Tracking</b>",hj="Ignoring unknown message '%1'",hg="DEVELOPER INFO: ",hh="<b>Good Bye From %1!</b><br /><br /><b>The account %2 is destroyed</b><br />Thanks for having used %1.",ho=":key",hp="ENTER_AWAKE",bA="sendRemoveAccount",bz="Ignoring unknown NMEA data '%1'",bC="confirmAlarm",bB="Ignoring received 'alarmChanged' of unknown device %1: %2",bE="GPRS_OPERATION",bD="_subjectId",bG="main",bF="POSITION_UNAVAILABLE",by="<br />qosData=",bx='_cmdNextSample',dN="\nAfter:\n",dO="Server Exception: Login failed, please check your user name and password<br /><br /><b>%1</b>",dP="Server Exception",dQ=":onDeviceOffline",dJ="External power supply lost",dK="</pre><p>Exception: ",dL="assert: TrackGui.getTracks() is called without loginName",dM="customCss",dH="_action",dI="runbutton",gg="Ajax Animator",gf="/watchee/ajax",ge="url",gd="sendRemoveTrack",gc="Button Label",gb="Change password",ga="errorMsgBox rules",fY="Geofence enter or leave",fX="or login with your private account login name</p>",fW="sendGetAlarms",p="sendGetDeviceConfiguration",q="Logged in as %1",n=", XSMS-Alias: ",o="user.illegalArgument",t="vertical",u="GEOFENCE_ENTER",r="Login failed, please check your user name and password<br /><br /><b>%1</b>",s="<p>Get a %1 account: <a href='http://watchee.net/watchee/register.jsp' target='_blank'>Register</a></p>",v="TrackGui.js",w="Established a GPRS socket connection",ch=":password",cg="GPRS_LOST",cj="Rule %1",ci="Get buddies",cd="Get track names for %1",cc="setBuddies",cf="&gt;",ce="SOS button pressed",cl="SOS_BUTTON",ck="16/actions/go-next.png",be='"',bf="logappender",bg="Loading data for %1",bh=".html",bi="External power supply available",bj="sendTestEmail",bk="f2",bl="sendGetTrackLocations",bc='_cmdNamespacePollution',bd="Server Exception during login, please try again.",dh="tree",dg="f1",df="logger",de="Adding buddy %1",dl='<div class="header" style="padding-top:0px;">',dk="Sorry, can't call myself.",dj="Creation of map frame failed",di="admin",dc="TRACKER_OFFLINE",db="sendGetRules",cV="useGeolocation",cU="Tracker connection lost",cT="Tracker is moved away from last fix",cS="logoutPre",da=":newPassword",cY="hidden",cX="makePhoneCall",cW="GEOFENCE",cR="showEmbeddedHtmlFrameLeftBottom",cQ="__states",T="track.TrackGui",U="Remove geofence %1",V="Base rule, fallback if no rule applies",W="Save settings",X="EXTERNAL_CHARGED_ON",Y="alarmChanged",ba="Rendering %1 buddies",bb="subscribeOnlineStatus failed: ",R='_cmdObjectSummary',S="Login is denied please check your login name and your password.",hr="Get device command list",hq="Change permission",ht="resultCsvFlag",hs="GEOFENCE_LEAVE",hv='<span style="font-size:32px">&nbsp;&nbsp;<span style="color:blue">GPS</span><span style="color:black"> Tracking</span></span>',hu="Removing buddy %1",hx="user.security.authentication.expired",hw="TIMEOUT",hz="user.security.authentication.inactive",hy="MOVED",fq="&lt;",fr="Get friend of",fo="<p>For best usage use Firefox 3! <a href='http://www.mozilla.com/en-US/firefox/all-rc.html' target='_blank'>Download</a></p>",fp="widgets",fm="Changing account data for %1 failed",fn="Get alarm events",fk="Send command to device",fl='<a href="http://watchee.net/index.html" target="watchee"><img src="images/watchee.gif" border="0" align="middle"/></a>',fi="Buddies processed",fj='style="margin:0px; margin-bottom: 0px; padding:0px; padding-bottom:0px; border-style: none;">',ed="16/actions/go-down.png",ec="EXTERNAL_CHARGED_OFF",eb="Buddy '%1' is removed already, but '%2' still has marked us as a friend",ea="access denied",dY="sendGetTracks",dX="phoneNumber",dW="<",dV="onAjaxUpdate: ",ef='_cmdProfile',ee="(Not logged in)",bL="xpath://key[starts-with(@oid,'xsms.')]",bM="DIESE HARD- UND SOFTWARE WIRD FÜR DAS RENNEN VERWENDET",bN="Ignoring received command list of unknown device %1",bO="OVERSPEED",bH="embeddedHtmlFrameLogo.url",bI="100%",bJ="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>false</initialUpdate><updateOneway>false</updateOneway></qos>",bK="Before:\n",bP="visible",bQ="user.security.authentication.accessDenied.wrongPassword",O="embeddedHtmlFrameBottom.caption",N="Microsoft",Q="Remove account",P=" failed: ",K="<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>",J="sendChangePassword",M='_cmdDisposeSample',L="<p>Please login as user <i>public</i> with password <i>public</i><br />",I="Get %1-device configuration",H="</p>",gl="maxGpsDataPerTrackCurrent",gm='_cmdPrevSample',gj="Scheduled task",gk="BATTERY_LOW",gp="_sampleToTreeNodeMap",gq="sendGetGeofences",gn="TEST HACK",go="16/actions/go-up.png",gh="PERMISSION_DENIED",gi="sendRawDeviceCommand",eP="themes",eO="en",eN="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>true</initialUpdate><updateOneway>false</updateOneway><history numEntries='20' newestFirst='false'/></qos>",eM="Login",eT="promptMsgBox.label",eS="embeddedHtmlFrameLeftBottom.url",eR="<qos><multiSubscribe>false</multiSubscribe><local>false</local><updateOneway>false</updateOneway><history numEntries='20' newestFirst='false'/></qos>",eQ="Remove rule %1",eV="sendTestSMS",eU="Netscape",cw="Lost GPS signal",cx="Battery is almost empty",cy="maxGpsDataPerTrack",cz="<p>You are auto-logged-in as user <i>public</i> with password <i>public</i></p>",cA="1",cB='<div class="roundedLogoContainer" ',cC="user.connect.multiple",cD='<span style="font-size:32px">&nbsp;&nbsp;<span style="color:red">GPS</span><span style="color:black">vision.de</span></span>',cE="<br />topic=",cF="subscribeStatus failed: ",fO='<div class="header" style="padding-top:11px;padding-left:12px;">',fP="text/raw",fM="Processing returnQosOrException failure",fN=":email",fS="audioName",fT="Get permissions",fQ="You have not permission to configure %1",fR=":lastName",fU="commandResponse 1=code 2=msg",fV="onAjaxUpdate",g="<i>for example 'Freddy', more than 3 characters, you can't change it during this session!</i>",f=' frameborder="0" marginHeight="0px" marginWidth="0px" scrolling="no" width="233" height="70"></iframe>',j="images/Oxygen/",h='</span>',b="isDeviceResponse",a="Successfully changed account data for %1",d="logout failed",c="Server Exception, %1 failed",m="Login is not possible, the account is not active any more.",l="Phone call request to %1 (%2) is send to your device %3<br /><br />Please check your phone.",bt="receivedServiceResponse.",bu="load",bv="The geofence can't be removed, please remove the referencing rule(s) first",bw=":phoneNumber",bp="...",bq="SMS_OPERATION",br="Geofence %1",bs="Login is denied please check your login name.",bn="Login is not possible, the account is expired.",bo="embeddedHtmlFrameBottom.url",dG="Geofence leave",dF="Login to server failed",dE="Login failed, your maximum allowed login sessions are exhausted, please log out properly in future and wait some minutes to try again",dD="Error: %1 %2",dC="user.security.authorization.notAuthorized",dB="ServiceListTO is parsed num=",dA="Lost the GPRS socket connection",dz="Tracker is sending locations with GPRS",dy="Received buddy ",dx="getAlarms failed: ",eI="requestInfo.exception.message",eJ="exhausted, login denied.",eG="showExpiryWarning failed: ",eH='<iframe class="roundedLogoContainer" id="embeddedHtmlFrameLogo" src="',eE=":alias",eF='_cmdShowLastProfile',eC="horizontal",eD="Error: Timeout",eK=" ",eL="showSortableDeviceTable",gY="Unknown rule type",gX="Change account",hb="testDevice",ha="Calling %1 failed!<br /><br />Please configure a phone number for this device.",hd="user.security.authentication.accessDenied",hc='Watchee Web Tracking',hf="sendAddRule",he="Successfully changed password for %1",gW=": ",gV="tests",x="images/",y='Watchee Beta',z="subscribeXSms failed: ",A="left",B="Changing password failed for %1:<br />%2",C='_cmdRunSample',D="Rendering buddy %1/%2",E="en,de",F="sendChangeAccount",G=">",cp="Got valid GPS signal",co="Tracker is outside allowed speed",cn="Enter power save mode",cm="_",ct=":firstName",cs="loginPost",cr=".nmea",cq="<initialUpdate>true</initialUpdate>",cv="Ignoring received properties of unknown device %1",cu="mainsplit",dT="GPSSIGNAL_OK",dU=":info",dR="Authorization Exception, ",dS="Please enter a nick name to identify yourself<br />";
var hA=5;
var fh=500;
var bm=true;
log=new qx.core.Object();
xbGetQxIcon=function(hL){return j+hL;
};
xbGetIcon=function(hM){return x+hM;
};
xbGetSound=function(name){var hN=org.xmlBlaster.util.isFF?gu:en;
return hC+name+hN;
};
xbGetLocSound=function(name){var hP=org.xmlBlaster.util.isFF?gu:en;
var hO=qx.locale.Manager.getInstance().getLocale();
return hC+hO+gP+name+hP;
};
var dd=null;
qx.Class.define(T,{extend:qx.ui.container.Composite,construct:function(hQ){qx.ui.container.Composite.call(this);
var hR=new qx.ui.layout.Canvas();
this.setLayout(hR);
dd=this;
this.geolocationLatitude=null;
this.geolocationLongitude=null;
this.queryGeolocation();
this.connectReturnQos=null;
this.blockingCounter=0;
this.myApplication=hQ;
this.msgBox=new track.msgbox.MsgBox(this);
this.watchee=null;
this.multipleLoginCounter=0;
this.mapInfoGui=null;
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(fg,false)==true){var hW=new track.test.TestForm(this);
hW.showForm();
}if(xbProperties.getBoolean(hb,false)==true){this.allowTestDevice=true;
}var hV=68;
this.headerBar=new qx.ui.container.Composite(new qx.ui.layout.Canvas()).set({height:hV});
this.headerLogo=this.__rP();
this.headerBar.add(this.headerLogo,{left:0,top:0,right:0,bottom:0});

if(xbProperties.getBoolean(hB,false)){this.menuBar=new track.mainview.MenuBar(this);
this.headerBar.add(this.menuBar.makeMenuBar(),{left:240,top:0,bottom:0,right:340});
}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.mainSplitpane=new qx.ui.splitpane.Pane(eC);
this.mainSplitpane.set({allowGrowX:true,allowGrowY:true});
this.mainSplitpane.setDecorator(bG);
this.add(this.mainSplitpane,{left:0,top:0,bottom:0,padding:0,margin:0,spacing:0});
this.mainSplitpane.setMarginTop(hV);
this.controlFrame=new qx.ui.splitpane.Pane(t);
this.controlFrameWidth=342;
this.controlFrame.setMinWidth(this.controlFrameWidth);
this.controlFrame.setDecorator(null);
this.mainSplitpane.add(this.controlFrame,1);
if(xbProperties.getBoolean(eL,false)){this.buddiesWidget=new track.devicestable.DevicesTable(this);
this.controlFrame.add(this.buddiesWidget.create(),5);
}else{this.buddiesWidget=new track.BuddiesWidget(this);
var hS=new qx.ui.container.Scroll();
hS.add(this.buddiesWidget);
this.controlFrame.add(hS,5);
}this.mapFrameAtom=new qx.ui.basic.Atom();
this.mapFrameAtom.getContainerElement().setAttribute(bT,dm);
this.iconUp=xbGetQxIcon(go);
this.iconDown=xbGetQxIcon(ed);
this.iconRight=xbGetQxIcon(ck);
this.iconLeft=xbGetQxIcon(hk);
this.headerToggle=new qx.ui.basic.Atom(null,this.iconUp);
this.headerToggle.addListener(dq,function(e){if(this.headerToggle.getIcon()==this.iconUp){this.headerBar.exclude();
this.mainSplitpane.setMarginTop(0);
this.headerToggle.setMarginTop(0);
this.headerToggle.setIcon(this.iconDown);

if(this.loginNameLabel!=null){this.loginNameLabel.setVisibility(cY);
}}else{this.headerBar.show();
this.mainSplitpane.setMarginTop(hV);
this.headerToggle.setMarginTop(hV);
this.headerToggle.setIcon(this.iconUp);

if(this.loginNameLabel!=null){this.loginNameLabel.setVisibility(bP);
}}},this);
this.add(this.headerToggle,{right:0});
this.headerToggle.setMarginTop(hV);
this.paneToggle=new qx.ui.basic.Atom(null,this.iconLeft);
this.paneToggle.addListener(dq,function(e){if(this.paneToggle.getIcon()==this.iconLeft){this.controlFrame.exclude();
this.paneToggle.setMarginLeft(0);
this.paneToggle.setIcon(this.iconRight);
}else{this.controlFrame.show();
this.paneToggle.setMarginLeft(this.controlFrameWidth);
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:bI});
this.getWindowsSize();
this.showBannerBottom();
this.xsmsPhoto=null;
this.embeddedFramelb=null;

if(xbProperties.getBoolean(cR,false)){this.embeddedFramelb=new qx.ui.embed.ThemedIframe();
this.controlFrame.add(this.embeddedFramelb,1);
this.embeddedFramelb.addListener(bu,function(e){this.debug("Loaded: "+this.getSource());
});
var hT=xbProperties.getStr(eS,dv);
hT=this.prepareUrlForLocale(hT);
this.embeddedFramelb.setSource(hT);
this.embeddedFramelb.setEnabled(false);
}else{this.xsmsPhoto=new track.xsmsphoto.XsmsPhoto(this);
this.xsmsPhoto.setEnabled(false);
}this.sessionProfile.changeTheme();

if(xbProperties.getBoolean(eP,false)==true)this.sessionProfile.chooseThemesWindow().open();
var hU=xbProperties.getStr(dM,fz);

if(hU.length>0){org.xmlBlaster.util.loadcssfile(hU);
}this.__rO(xbProperties.getBoolean(cb,false));
this.historyPreloader=null;
this.info("TrackGui.js done");
},members:{getLogger:function(){return this;
},queryGeolocation:function(){if(xbProperties.getBoolean(cV,true)&&navigator.geolocation){var hX={enableHighAccuracy:true,timeout:10000,maximumAge:0};
navigator.geolocation.getCurrentPosition(this.onGeolocationFound,this.onGeolocationError,hX);
}else{this.info("Your browser doesn't support geolocation services");
}},onGeolocationFound:function(hY){dd.geolocationLatitude=hY.coords.latitude;
dd.geolocationLongitude=hY.coords.longitude;

if(xbProperties.getStr(ca,null)==null)xbProperties.setDefaultProp(ca,dd.geolocationLatitude);

if(xbProperties.getStr(gs,null)==null)xbProperties.setDefaultProp(gs,dd.geolocationLongitude);
dd.info("TrackGui.js: Geolocation is latitude: "+dd.geolocationLatitude+", longitude:"+dd.geolocationLongitude);
},onGeolocationError:function(ia){var ib=ia.message||fz;
var ic=ia.code==ia.TIMEOUT?hw:(ia.code==ia.POSITION_UNAVAILABLE?bF:gh);
dd.warn("TrackGui.js geolocation error: "+ic+" "+ib);
},getWindowsSize:function(){this.winW=630;
this.winH=460;

if(parseInt(navigator.appVersion)>3){if(navigator.appName==eU){this.winW=window.innerWidth;
this.winH=window.innerHeight;
}
if(navigator.appName.indexOf(N)!=-1){this.winW=document.body.offsetWidth;
this.winH=document.body.offsetHeight;
}}},showBannerBottom:function(){this.winBannerBottom=null;

if(xbProperties.getBoolean(hm,false)){this.winBannerBottom=new qx.ui.window.Window(xbProperties.getStr(O,bM));
var ie=new qx.ui.layout.Basic();
this.winBannerBottom.setLayout(ie);
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 id=xbProperties.getStr(bo,dv);
this.embeddedFrameBottom.setSource(id);
this.winBannerBottom.add(this.embeddedFrameBottom,{left:0,top:0,bottom:0,padding:0,margin:0,spacing:0});
this.winBannerBottom.open();
}},veryBadHackToTriggerPNGLoadForAlarmTable:function(ig){if(this.menuBar==null)return;
var ih=new qx.ui.basic.Atom(gn,ig);
this.menuBar.menuBarContainer.add(ih,{row:0,column:this.menuBar.maxColHack});
this.menuBar.menuBarContainer.remove(ih);
return ig;
},getMyRoot:function(){return this.getApplicationRoot();
},getMyLoginName:function(){if(this.watchee==null)return null;
return this.watchee.getLoginName();
},getMySessionName:function(){if(this.connectReturnQos==null||this.connectReturnQos.getSessionQos()==null)return null;
return this.connectReturnQos.getSessionQos().getSessionName();
},getMyAbsoluteSessionNameStr:function(){var ii=this.getMySessionName();

if(ii==null)return null;
return ii.getAbsoluteName();
},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 ik=this.getMyAccountTO();

if(ik==null)return em;
var ij=ik.getOemName();

if(ij==null||ij==fz)return em;
return ij;
},getMyOemProperty:function(il,im){var il=il||null;

if(im===undefined){im=null;
}var ip=this.getMyAccountTO();

if(ip==null||il==null){return im;
}var io=ip.getOemPropertyStr(il,im);
return io;
},getMyOemLink:function(iq,ir,is){var iq=iq||null;
var ir=ir||cJ;
var is=is||null;

if(iq==null){return ir;
}var iu=qx.locale.Manager.getInstance().getLocale();

if(iu==null||iu==fz)iu=eO;
var it=iu.indexOf(cm);

if(it!=-1){iu=iu.substring(0,it);
}var iv=ir;
iv=this.getMyOemProperty(iq,iv);
iv=xbProperties.getStrFrom(ge,iq,iv);

if(iv.toLowerCase().indexOf(gA)==-1&&iv.toLowerCase().indexOf(ew)==-1){iv=gA+iv;
}
if(iv.indexOf(fH)!=-1){iv=org.xmlBlaster.util.replaceAllTokens(iv,fH,iu);
return iv;
}
if(is!=null){if(iv.length>0&&iv.charAt(iv.length-1)!=gP){iv+=gP;
}iv+=iu+gP+is+bh;
}return iv;
},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(cW,fY);
net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.description=this.trc(hs,dG);
net.watchee.RuleTypeEnum.GEOFENCE_ENTER.description=this.trc(u,gJ);
net.watchee.RuleTypeEnum.SOS_BUTTON.description=this.trc(cl,ce);
net.watchee.RuleTypeEnum.EXTERNAL_CHARGED_ON.description=this.trc(X,bi);
net.watchee.RuleTypeEnum.EXTERNAL_CHARGED_OFF.description=this.trc(ec,dJ);
net.watchee.RuleTypeEnum.TRACKER_OFFLINE.description=this.trc(dc,cU);
net.watchee.RuleTypeEnum.BATTERY_LOW.description=this.trc(gk,cx);
net.watchee.RuleTypeEnum.OVERSPEED.description=this.trc(bO,co);
net.watchee.RuleTypeEnum.MOVED.description=this.trc(hy,cT);
net.watchee.RuleTypeEnum.GPSSIGNAL_LOST.description=this.trc(fe,cw);
net.watchee.RuleTypeEnum.GPSSIGNAL_OK.description=this.trc(dT,cp);
net.watchee.RuleTypeEnum.GPRS_LOST.description=this.trc(cg,dA);
net.watchee.RuleTypeEnum.GPRS_OK.description=this.trc(hn,w);
net.watchee.RuleTypeEnum.SMS_OPERATION.description=this.trc(bq,cP);
net.watchee.RuleTypeEnum.GPRS_OPERATION.description=this.trc(bE,dz);
net.watchee.RuleTypeEnum.SCHEDULED_EVENT.description=this.trc(cO,gj);
net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.description=this.trc(et,cn);
net.watchee.RuleTypeEnum.ENTER_AWAKE.description=this.trc(hp,ey);
net.watchee.RuleTypeEnum.FALLBACK.description=this.trc(gH,V);
net.watchee.RuleTypeEnum.INVALID.description=this.trc(cL,gY);
},getBounceNextVal:function(iw){if(org.xmlBlaster.util.isFilled(iw)){return iw+dw+this.requestResponseDispatcher.getRequestIdNextVal();
}return this.requestResponseDispatcher.getRequestIdNextVal();
},extractLoginNameFromBounceId:function(ix,iy){var ix=ix||null;
var iy=iy||null;

if(ix==null)return iy;
var iz=ix.indexOf(dw);

if(iz>0)return ix.substring(0,iz);
return iy;
},postCreationEvent:function(){var iA=this;

if(this.blockingCounter>2000){this.errorMsgBox(this.trc(fB,dj));
return;
}if(!org.xmlBlaster.util.isDefined(this.mapFrame)){this.blockingCounter++;
setTimeout(function(){iA.postCreationEvent();
},10);
iA.makeEmbeddedMapFrame();
return;
}if(xbProperties.getBoolean(cb,false)==true){iA.loginForm.clickedLoginButton();
}},__rO:function(iB){try{if(xbProperties.getBoolean(fC,false)==true){var iC=this.trc(fC,hi,this.getMyOemName());

if(xbProperties.getStr(bS,bU)==bU){if(iB){iC+=cz;
}else{iC+=L+fX;
}
if(isWatchee){iC+=this.trc(fC,s,this.getMyOemName());
}}
if(org.xmlBlaster.util.isIE6){iC+=K;
}else{iC+=fo;
}this.infoMsgBox(iC);
}}catch(e){this.info("wellcomeBox caught exception: "+e);
}},prepareUrlForLocale:function(iD){var iF=E;
var iE=org.xmlBlaster.util.getLocaleIdLanguage(iF);
iD=org.xmlBlaster.util.replaceAllTokens(iD,fH,iE);
return iD;
},__rP:function(){var iH=fz;

if(isGpsVision){var iK=false;

if(iK){iH=gR+hI+ep+cD+bY+fw+fw;
}else{iH=gR+fO+ep+cG+bY+fw+fw;
}}else if(isGpsOem){var iG=xbProperties.getStr(bH,null);

if(iG==null){iH=gR+hI+hv+fw+fw;
}else{iG=this.prepareUrlForLocale(iG);
iH=gR+dl+eH+iG+be+f+fw+fw;
}}else{var iJ=hc;

if(xbProperties.getBoolean(hB,false))iJ=y;
iH=cB+fj+er+fl+iJ+h+fw;
}var iI=new qx.ui.embed.Html(iH);
iI.getContainerElement().setAttribute(bT,gr);
return iI;
},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(iL,iM){this.ajaxAnimator.startAjaxAnimator(iL,iM);
},changeLabelAjaxAnimator:function(iN){this.ajaxAnimator.changeLabelAjaxAnimator(iN);
},stopAjaxAnimator:function(iO){this.ajaxAnimator.stopAjaxAnimator(iO);
},clearXsmsPane:function(){if(this.xsmsPhoto!=null){this.xsmsPhoto.xsmsTab.clearXsmsPane();
}},askMsgBox:function(iP,iQ,iR,iS,iT,iU,iV){return this.msgBox.askMsgBox(iP,iQ,iR,iS,iT,iU,iV);
},errorMsgBox:function(iW,iX){return this.msgBox.errorMsgBox(iW,iX);
},errorMsgBoxDeveloper:function(iY,ja){var iY=iY||null;
var ja=ja||null;

if(isDevelopEnvironment){return this.msgBox.errorMsgBox(hg+iY,ja);
}else{this.error(iY+": "+ja);
return null;
}},ajaxMsgBox:function(jb,jc,jd){return this.msgBox.infoMsgBox(jb,jc,jd,eB);
},infoMsgBox:function(je,jf,jg){return this.msgBox.infoMsgBox(je,jf,jg);
},promptMsgBox:function(jh,ji,jk,jl,jm,jn,jo,jp){return this.msgBox.promptMsgBox(jh,ji,jk,jl,jm,jn,jo,jp);
},getGeofences:function(jq){if(this.watchee==null)return;
this.getLogger().info("getGeofences ...");
this.startAjaxAnimator(this.trc(fA,hJ));
this.watchee.getRuleManager().sendGetGeofences(jq,this.returnQosOrException,this,gq);
},sendAddGeofence:function(jr){if(this.watchee==null)return;
this.getLogger().info("sendAddGeofence ...");
this.startAjaxAnimator(this.trc(fA,br,jr.getName()));
this.watchee.getRuleManager().sendAddGeofence(jr.getPropertyCollection());
this.stopAjaxAnimator();
},sendRemoveGeofence:function(js){if(this.watchee==null)return;
this.getLogger().info("sendRemoveGeofence ...");
this.startAjaxAnimator(this.trc(fA,U,js.getName()));
this.watchee.getRuleManager().sendRemoveGeofence(js.getPropertyCollection());
this.stopAjaxAnimator();
},getRules:function(jt){if(this.watchee==null)return;
this.getLogger().info("getRules ...");
this.startAjaxAnimator(this.trc(fA,hJ));
this.watchee.getRuleManager().sendGetRules(jt,this.returnQosOrException,this,db);
},sendAddRule:function(ju,jv,jw,jx){if(this.watchee==null)return;
this.getLogger().info("sendAddRule ...");
this.startAjaxAnimator(this.trc(fA,cj,ju.getRuleName()));
var jy=this.watchee.getRuleManager().sendAddRule(ju.getPropertyCollections(),jv,jw,jx);
this.watchee.publishServiceMessage(jy,this.returnQosOrException,this,hf);
this.stopAjaxAnimator();
},sendRemoveRule:function(jz,jA,jB,jC){if(this.watchee==null)return;
this.getLogger().info("sendRemoveRule ...");
this.startAjaxAnimator(this.trc(fA,eQ,jz.getRuleName()));
var jD=this.watchee.getRuleManager().sendRemoveRule(jz.getPropertyCollections(),jA,jB,jC);
this.watchee.publishServiceMessage(jD,this.returnQosOrException,this,cM);
this.stopAjaxAnimator();
},getAlarms:function(jE,jF){if(this.watchee==null)return;
this.getLogger().info("getAlarms "+jE+" ...");
this.startAjaxAnimator(this.trc(fA,fn));
this.watchee.getRuleManager().sendGetAlarms(jE,this.returnQosOrException,this,fW,jF);
},confirmAlarms:function(jG,jH){if(this.watchee==null)return;
this.getLogger().info("confirmAlarm ...");
this.watchee.getRuleManager().sendConfirmAlarms(jG,jH,this.returnQosOrException,this,bC);
},sendChangeAccountProperty:function(jI,jJ,jK,jL,jM,jN){if(this.watchee==null)return;

if(jL===undefined)jL=null;
this.getLogger().info("sendChangeAccountProperty ...");
this.startAjaxAnimator(this.trc(fA,W));
var jR=org.xmlBlaster.util.PropTO;
var jP=new Array();
var jS=jR.VALUE_TASK_NAMED_CHANGEACCOUNTPROPERTY+gS+this.getRequestResponseDispatcher().getRequestIdNextVal();
jP.push(new jR(jR.KEY_SERVICENAME,jR.VALUE_SERVICE_ACCOUNT));
jP.push(new jR(jR.KEY_TASK,jR.VALUE_TASK_NAMED_CHANGEACCOUNTPROPERTY));
jP.push(new jR(jR.KEY_BOUNCE,jS));
jP.push(new jR(jR.KEY_DATA+fv,jI));
jP.push(new jR(jR.KEY_DATA+ho,jJ));
jP.push(new jR(jR.KEY_DATA,jK));
var jO=new org.xmlBlaster.util.ServiceTO(jP);
var jQ=new org.xmlBlaster.util.ServiceListTO(jO);

if(jL!=null){this.getRequestResponseDispatcher().registerRequest(jS,120,jL,jM,jN,false);
this.watchee.publishServiceMessage(jQ,this.returnQosOrException,this,gy);
}else{this.watchee.publishServiceMessage(jQ,this.returnQosOrException,this,gy);
}this.stopAjaxAnimator();
},getTracks:function(jT){if(this.watchee==null)return;

if(!org.xmlBlaster.util.isDefined(jT)){this.errorMsgBox(this.trc(fB,dL));
return;
}this.getLogger().info("getTracks ...");
this.startAjaxAnimator(this.trc(fA,cd,jT));
this.sendGetTracks(jT);
},sendGetTracks:function(jU){var jX=org.xmlBlaster.util.PropTO;
var jW=new Array();
jW.push(new jX(jX.KEY_SERVICENAME,jX.VALUE_SERVICE_TRACK));
jW.push(new jX(jX.KEY_TASKTYPE,jX.VALUE_TASKTYPE_NAMED));
jW.push(new jX(jX.KEY_TASK,jX.VALUE_TASK_NAMED_GETTRACKS));
jW.push(new jX(jX.KEY_DATA+fv,jU));
jW.push(new jX(jX.KEY_BOUNCE,jU));
jW.push(new jX(jX.KEY_RESULTMIME,hE));
var jV=new org.xmlBlaster.util.ServiceTO(jW);
var jY=new org.xmlBlaster.util.ServiceListTO(jV);

if(this.watchee!=null)this.watchee.publishServiceMessage(jY,this.returnQosOrException,this,dY);
},getTrackLocations:function(ka,kb,kc){if(this.watchee==null)return;
this.getLogger().info("getTrackLocations loginName="+ka+" trackName="+kb+" ...");
this.startAjaxAnimator(this.trc(fA,bg,kb));
this.sendGetTrackLocations(ka,kb,kc);
},sendGetTrackLocations:function(kd,ke,kf){var kf=kf||null;
var ki=this.watchee.getDevice(kd).getTrack(ke).isCurrentTrack();
var km=org.xmlBlaster.util.PropTO;
var kh=new Array();
kh.push(new km(km.KEY_SERVICENAME,km.VALUE_SERVICE_TRACK));
kh.push(new km(km.KEY_TASKTYPE,km.VALUE_TASKTYPE_NAMED));
kh.push(new km(km.KEY_TASK,km.VALUE_TASK_NAMED_GETTRACK));
kh.push(new km(km.KEY_DATA+fv,kd));
kh.push(new km(km.KEY_DATA+hF,ke));
var kk=ki?xbProperties.getInt(gl,1000):xbProperties.getInt(cy,1000);
kh.push(new km(km.KEY_DATA+cN,kk));
kh.push(new km(km.KEY_BOUNCE,kd));

if(kf!=null)kh.push(new km(km.KEY_BOUNCE+dU,kf));
kh.push(new km(km.KEY_RESULTMIME,hE));
var kg=new org.xmlBlaster.util.ServiceTO(kh);
var kj=new org.xmlBlaster.util.ServiceListTO(kg);

if(this.watchee!=null)this.watchee.publishServiceMessage(kj,this.returnQosOrException,this,bl);
},sendChangePassword:function(kn,ko,kp){var ks=org.xmlBlaster.util.PropTO;
var kr=new Array();
kr.push(new ks(ks.KEY_SERVICENAME,ks.VALUE_SERVICE_ACCOUNT));
kr.push(new ks(ks.KEY_TASKTYPE,ks.VALUE_TASKTYPE_NAMED));
kr.push(new ks(ks.KEY_TASK,ks.VALUE_TASK_NAMED_CHANGEPASSWORD));
kr.push(new ks(ks.KEY_DATA+fv,kn));
kr.push(new ks(ks.KEY_DATA+gK,ko));
kr.push(new ks(ks.KEY_DATA+da,kp));
kr.push(new ks(ks.KEY_BOUNCE,kp));
kr.push(new ks(ks.KEY_RESULTENCODING,ks.ENCODING_PLAIN));
var kq=new org.xmlBlaster.util.ServiceTO(kr);
var kt=new org.xmlBlaster.util.ServiceListTO(kq);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,gb));
this.watchee.publishServiceMessage(kt,this.returnQosOrException,this,J);
}},sendChangeAccount:function(ku){var ky=org.xmlBlaster.util.PropTO;
var kw=new Array();
var kv=ku.getLoginName();
kw.push(new ky(ky.KEY_SERVICENAME,ky.VALUE_SERVICE_ACCOUNT));
kw.push(new ky(ky.KEY_TASKTYPE,ky.VALUE_TASKTYPE_NAMED));
kw.push(new ky(ky.KEY_TASK,ky.VALUE_TASK_NAMED_CHANGEACCOUNT));
kw.push(new ky(ky.KEY_DATA+fv,kv));
kw.push(new ky(ky.KEY_DATA+eE,ku.getAlias()));
kw.push(new ky(ky.KEY_DATA+ct,ku.getFirstName()));
kw.push(new ky(ky.KEY_DATA+fR,ku.getLastName()));
kw.push(new ky(ky.KEY_DATA+fN,ku.getEmail()));
kw.push(new ky(ky.KEY_DATA+bw,ku.getPhoneNumber()));
kw.push(new ky(ky.KEY_BOUNCE,kv));
kw.push(new ky(ky.KEY_RESULTENCODING,ky.ENCODING_PLAIN));
var kz=new org.xmlBlaster.util.ServiceTO(kw);
var kx=new org.xmlBlaster.util.ServiceListTO(kz);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,gX));
this.watchee.publishServiceMessage(kx,this.returnQosOrException,this,F);
}},sendRemoveAccount:function(kA,kB){var kE=org.xmlBlaster.util.PropTO;
var kD=new Array();
kD.push(new kE(kE.KEY_SERVICENAME,kE.VALUE_SERVICE_ACCOUNT));
kD.push(new kE(kE.KEY_TASKTYPE,kE.VALUE_TASKTYPE_NAMED));
kD.push(new kE(kE.KEY_TASK,kE.VALUE_TASK_NAMED_REMOVEACCOUNT));
kD.push(new kE(kE.KEY_DATA+fv,kA));
kD.push(new kE(kE.KEY_DATA+ch,kB));
kD.push(new kE(kE.KEY_BOUNCE,kA));
kD.push(new kE(kE.KEY_RESULTENCODING,kE.ENCODING_PLAIN));
var kC=new org.xmlBlaster.util.ServiceTO(kD);
var kF=new org.xmlBlaster.util.ServiceListTO(kC);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,Q),300000);
this.watchee.publishServiceMessage(kF,this.returnQosOrException,this,bA);
}},sendRawDeviceCommand:function(kG,kH,kI,kJ){var kJ=kJ||null;

if(this.watchee==null||!org.xmlBlaster.util.isFilled(kI))throw new Error("sendRawDeviceCommand with watchee or command is null");
var kG=org.xmlBlaster.util.isFilled(kG)?kG:this.watchee.getLoginName();
var kH=org.xmlBlaster.util.isFilled(kH)?kH:kG;
var kO=org.xmlBlaster.util.PropTO;
var kM=new Array();
kM.push(new kO(kO.KEY_TASKTYPE,kO.VALUE_TASKTYPE_NAMED));
kM.push(new kO(kO.KEY_TASK,net.watchee.Device.SERVICE_KEY_SETSETTING));
kM.push(new kO(kO.KEY_MIME,fP));
kM.push(new kO(kO.KEY_DATA,kI));

if(kJ!=null)kM.push(new kO(kO.KEY_DATA+dQ,kJ));
kM.push(new kO(kO.KEY_BOUNCE,kH));
kM.push(new kO(kO.KEY_RESULTENCODING,kO.ENCODING_PLAIN));
var kL=new org.xmlBlaster.util.ServiceTO(kM);
var kN=new org.xmlBlaster.util.ServiceListTO(kL);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,fk));
var kK=ft+kG+gT;
this.getLogger().info("Send message to "+kK+": "+kI);
this.watchee.xbAccess.publishServiceMessage(kK,kN,this.returnQosOrException,this,gi);
}},sendGetDeviceCommandList:function(kP){if(this.watchee==null)throw new Error("sendGetDeviceCommandList with watchee is null");
var kP=org.xmlBlaster.util.isFilled(kP)?kP:this.watchee.getLoginName();
var kU=this.watchee.getBuddyManager().getBuddyOrMyself(kP);

if(kU==null||!kU.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.infoMsgBox(this.trc(gU,fQ,kP));
return;
}var kV=org.xmlBlaster.util.PropTO;
var kR=new Array();
kR.push(new kV(kV.KEY_TASKTYPE,kV.VALUE_TASKTYPE_NAMED));
kR.push(new kV(kV.KEY_TASK,net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST));
kR.push(new kV(kV.KEY_DATA,fz));
kR.push(new kV(kV.KEY_BOUNCE,kP));
var kT=new org.xmlBlaster.util.ServiceTO(kR);
var kS=new org.xmlBlaster.util.ServiceListTO(kT);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,hr));
var kQ=ft+kP+gT;
this.getLogger().info("sendGetDeviceCommandList("+kQ+")");
this.watchee.xbAccess.publishServiceMessage(kQ,kS,this.returnQosOrException,this,hl);
}},makePhoneCallToDevice:function(kW){var kX=kW.getHwPhoneNumber();

if(kX==fz){this.errorMsgBox(this.trc(fB,ha,kW.getDeviceId()));
return;
}var kY=this.getMyLoginName();

if(kY==kW.getDeviceId()){this.errorMsgBox(this.trc(fB,dk,kW.getDeviceId()));
return;
}this.makePhoneCall(kY,kX);
this.infoMsgBox(this.trc(gU,l,kW.getDeviceId(),kX,kY),20000);
},makePhoneCall:function(la,lb){if(this.watchee==null)return false;

if(lb==undefined||lb==null||lb==fz)return false;
var lc=new net.watchee.PropertyCollection();
lc.add(new net.watchee.PropertyPair(cI,cX));
lc.add(new net.watchee.PropertyPair(dH,cA));
lc.add(new net.watchee.PropertyPair(dX,lb));
this.sendActionToDevice(la,lc,false);
return true;
},sendDeviceSettings:function(ld,le,lf){var lf=org.xmlBlaster.util.toBoolean(lf,true);
var lm=org.xmlBlaster.util.PropTO;
var li=new Array();
var ln=ld+gS+this.getRequestResponseDispatcher().getRequestIdNextVal();
li.push(new lm(lm.KEY_TASKTYPE,lm.VALUE_TASKTYPE_NAMED));
li.push(new lm(lm.KEY_TASK,net.watchee.Device.SERVICE_KEY_SETSETTING));
li.push(new lm(lm.KEY_DATA,le.toXml()));
li.push(new lm(lm.KEY_BOUNCE,ln));
li.push(new lm(lm.KEY_RESULTENCODING,lm.ENCODING_PLAIN));
var lh=new org.xmlBlaster.util.ServiceTO(li);
var ll=new org.xmlBlaster.util.ServiceListTO(lh);

if(this.watchee!=null){var lg=ft+ld+gT;
this.getLogger().info("Send message to "+lg+": "+le.toXml());

if(lf){var lj=true;
var lk=null;
this.getRequestResponseDispatcher().registerRequest(ln,120,function(lo,lp,lq){this._receivedBlackboxResponse(ld,lo,lp,lq,false);
},this,lk,lj);
}this.watchee.xbAccess.publishServiceMessage(lg,ll,this.returnQosOrException,this,gw);
}},sendGetDeviceConfiguration:function(lr){var lw=this.watchee.getBuddyManager().getFriendOfOrMyself(lr);

if(lw==null){this.warn("sendGetDeviceConfiguration: Buddy not known "+lr);
return;
}
if(!lw.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.warn("sendGetDeviceConfiguration: You have not permission to get configuration of "+lr);
return;
}var lx=org.xmlBlaster.util.PropTO;
var lu=new Array();
var ly=lr+gS+this.getRequestResponseDispatcher().getRequestIdNextVal();
lu.push(new lx(lx.KEY_TASKTYPE,lx.VALUE_TASKTYPE_NAMED));
lu.push(new lx(lx.KEY_TASK,net.watchee.Device.SERVICE_KEY_GETSETTINGS));
lu.push(new lx(lx.KEY_BOUNCE,ly));
lu.push(new lx(lx.KEY_RESULTENCODING,lx.ENCODING_PLAIN));
var lt=new org.xmlBlaster.util.ServiceTO(lu);
var lv=new org.xmlBlaster.util.ServiceListTO(lt);

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,I,lr));
this.subscribeCfg(lr);
var ls=ft+lr+gT;
this.getLogger().info("Send 'getSettings' message to "+ls);
this.watchee.xbAccess.publishServiceMessage(ls,lv,this.returnQosOrException,this,p);
}},sendActionToDevice:function(lz,lA,lB){var lB=org.xmlBlaster.util.toBoolean(lB,true);
var lJ=org.xmlBlaster.util.PropTO;
var lE=new Array();
var lK=lz+gS+this.getRequestResponseDispatcher().getRequestIdNextVal();
var lH=gI;
lE.push(new lJ(lJ.KEY_TASKTYPE,lJ.VALUE_TASKTYPE_NAMED));
lE.push(new lJ(lJ.KEY_TASK,lH));
lE.push(new lJ(lJ.KEY_DATA,lA.toXml()));
lE.push(new lJ(lJ.KEY_BOUNCE,lK));
lE.push(new lJ(lJ.KEY_RESULTENCODING,lJ.ENCODING_PLAIN));
var lD=new org.xmlBlaster.util.ServiceTO(lE);
var lI=new org.xmlBlaster.util.ServiceListTO(lD);

if(this.watchee!=null){var lC=ft+lz+gT;
this.getLogger().info("Send message to "+lC+": "+lA.toXml());

if(lB){var lF=true;
var lG=null;
this.getRequestResponseDispatcher().registerRequest(lK,120,function(lL,lM,lN){this._receivedBlackboxResponse(lz,lL,lM,lN,true);
},this,lG,lF);
}this.watchee.xbAccess.publishServiceMessage(lC,lI,this.returnQosOrException,this,gw);
}},_receivedBlackboxResponse:function(lO,lP,lQ,lR,lS){var lX=org.xmlBlaster.util.PropTO;
var lT=fz;
var lV=null;
var lW=null;

if(lP==null){lT=this.trc(gC,eD);
this.getLogger().info("Setting action timed out");
lW=(lR.timedout!=undefined)?this.trc(gz,bR):fz;

if(lR.exception!=undefined&&lR.exception!=null&&lR.exception.errorCode!=undefined)lW=lR.exception.errorCode;
}else if(lP.isException()){lT=this.trc(fU,dD,lP.getErrorCode(),lP.getErrorMessage());
lV=lP.getPropValue(lX.KEY_RESULT_CSVFLAG);
this.getLogger().info("Got tracker exception: "+lP.getErrorCode());
lW=(lR.timedout!=undefined)?this.trc(gz,bR):fz;

if(lR.exception!=undefined&&lR.exception!=null&&lR.exception.errorCode!=undefined)lW=lR.exception.errorCode;
}else{lT=lP.getPropValue(lX.KEY_RESULT);
lV=lP.getPropValue(lX.KEY_RESULT_CSVFLAG);
this.getLogger().info("Got tracker response: "+lT+" resultCsvFlag="+lV);
}var lU=du;

if(this.xsmsPhoto!=null&&this.xsmsPhoto.statusTab!=null){this.xsmsPhoto.statusTab.receivedStatus(lU,lO,lT,lW,lV);
}},sendRemoveTrack:function(lY,ma){var md=org.xmlBlaster.util.PropTO;
var mc=new Array();
mc.push(new md(md.KEY_SERVICENAME,md.VALUE_SERVICE_TRACK));
mc.push(new md(md.KEY_TASKTYPE,md.VALUE_TASKTYPE_NAMED));
mc.push(new md(md.KEY_TASK,md.VALUE_TASK_NAMED_REMOVETRACK));
mc.push(new md(md.KEY_DATA+fv,lY));
mc.push(new md(md.KEY_DATA+hF,ma));
var mb=new org.xmlBlaster.util.ServiceTO(mc);
var me=new org.xmlBlaster.util.ServiceListTO(mb);

if(this.watchee!=null)this.watchee.publishServiceMessage(me,this.returnQosOrException,this,gd);
},getBuddies:function(){if(this.watchee==null)return;
this.getLogger().info("send getBuddies ...");
this.startAjaxAnimator(this.trc(fA,ci));
this.watchee.getBuddyManager().getEventManager().addListener(cc,function(mf){var mg=mf.getData();
this.receivedBuddyList(mg);
},this);
this.watchee.getBuddyManager().sendGetBuddies();
},getFriendOf:function(){if(this.watchee==null)return;
this.getLogger().info("send getFriendOf ...");
this.startAjaxAnimator(this.trc(fA,fr));
this.watchee.getBuddyManager().getEventManager().addListener(fa,function(mh){var mi=mh.getData();
this.receivedFriendOfList(mi);
},this);
this.watchee.getBuddyManager().sendGetFriendOf();
},sendGetAccountInfo:function(mj){if(this.watchee==null)return;
this.getLogger().info("sendGetAccountInfo ...");
var mm=org.xmlBlaster.util.PropTO;
var ml=new Array();
ml.push(new mm(mm.KEY_SERVICENAME,mm.VALUE_SERVICE_ACCOUNT));
ml.push(new mm(mm.KEY_TASK,mm.VALUE_TASK_NAMED_GETACCOUNT));
ml.push(new mm(mm.KEY_DATA+fv,mj));
ml.push(new mm(mm.KEY_RESULTENCODING,mm.ENCODING_PLAIN));
var mk=new org.xmlBlaster.util.ServiceTO(ml);
var mn=new org.xmlBlaster.util.ServiceListTO(mk);
this.watchee.publishServiceMessage(mn,this.returnQosOrException,this,eA);
},sendGetPermissionTemplates:function(){this.getLogger().info("sendGetPermissionTemplates ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,fT));
this.watchee.getBuddyManager().sendGetPermissionTemplates();
}},sendChangePermission:function(mo){this.getLogger().info("sendChangePermission ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,hq));
this.watchee.getBuddyManager().addBuddy(mo);
this.watchee.getBuddyManager().sendAddBuddy(mo);
this.stopAjaxAnimator();
}},sendAddBuddy:function(mp){this.getLogger().info("sendAddBuddy ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,de,mp.getLoginName()));
this.watchee.getBuddyManager().addBuddy(mp);
this.watchee.getBuddyManager().sendAddBuddy(mp);
this.stopAjaxAnimator();
}},sendRemoveBuddy:function(mq,mr){this.getLogger().info("sendRemoveBuddy ...");

if(this.watchee!=null){this.startAjaxAnimator(this.trc(fA,hu,mq.getLoginName()));
this.watchee.getBuddyManager().sendRemoveBuddy(mq,mr);
this.stopAjaxAnimator();
}},disposeWatchee:function(ms){var mt=qx.dev.ObjectSummary.getInfo();
ms.dispose();
qx.event.Timer.once(function(){this.infoMsgBox(bK+mt+dN+qx.dev.ObjectSummary.getInfo());
},this,5000);
},addPhotoToPhotoGallery:function(mu,mv){if(this.xsmsPhoto!=null){return this.xsmsPhoto.photoTab.addPhotoToPhotoGallery(mu,mv);
}return null;
},removePhotoFromPhotoGallery:function(mw){if(this.xsmsPhoto!=null){return this.xsmsPhoto.photoTab.removePhotoFromPhotoGallery(mw);
}return null;
},makeEmbeddedMapFrame:function(){if(org.xmlBlaster.util.isDefined(this.mapFrame))return this.mapFrame;
this.mapFrame=document.getElementById(dm);
return this.mapFrame;
},makeLoginLabel:function(mx){if(mx!=null)this.currentLoginLabelText=mx;

if(xbProperties.getStr(gQ,null)!=null)mx=this.currentLoginLabelText+n+xbProperties.getStr(gQ,fz);

if(this.loginNameLabel==null){this.loginNameLabel=new qx.ui.basic.Label(mx);
this.loginNameLabel.setTextColor(watcheeOrange);
this.add(this.loginNameLabel,{left:60,top:53});

if(xbProperties.getBoolean(di,false)){this.loginNameLabel.addListener(dq,function(e){var my=xbProperties.getStr(gQ,fz);
var mA=3;
var mz=false;
this.promptMsgBox(this.trc(ez,gE),this.trc(eT,dS+g),my,mA,mz,function(mB,mC){if(mB){xbProperties.setAccountProp(gQ,mC);
this.makeLoginLabel(null);
}else{}},this);
},this);
}}else this.loginNameLabel.setValue(mx);
},fireAlarmChangedEvent:function(mD,mE,mF){var mD=mD||null;
var mE=mE||true;
var mF=mF||null;
if(mD==null)return;
var mG={alarmTO:mD,device:mF};
this.watchee.getEventManager().fireEvent(Y,mG);
},getMapInfoGui:function(){if(this.mapInfoGui==null)this.mapInfoGui=new track.map.MapInfoGui(this);
return this.mapInfoGui;
},loginExecute:function(mH,mI){this.processingLogout=false;
var mL={loginName:mH};
this.eventManager.fireEvent(el,mL);
this.startAjaxAnimator(this.trc(fA,eM));
var mK=gf;
var mN=false;
this.watchee=new net.watchee.Watchee(mK,this.mapFrame,mH,null,this.getRequestResponseDispatcher(),mN);
this.watchee.registerMapInfoGui(this.getMapInfoGui());
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(gF,function(mO){var mU=mO.getData().deviceId;
var mQ=mO.getData().trackName;
var mS=mO.getData().gpsData;
this.getLogger().info("mapLineClicked, processing now");
var mP=mU;
var mT=this.watchee.getBuddyManager().getBuddyOrFriendOf(mP);
var mR=this.getWindowManager().popupTrackConfigWindow(mT);
mR.makeTrackCurrent(mQ);
},this);
try{this.loginForm.setSubmitLoginButtonLabel(bp);
this.connectReturnQos=this.watchee.connect(true,mH,mI,null,gv);
this.loginForm.setSubmitLoginButtonLabel(this.trc(gc,ds));
this.makeLoginLabel(this.trc(dt,q,mH));

if(!mN){this.watchee.mapManager.initializeMap();
}this.initTranslations();
this.sendGetAccountInfo(mH);
this.removeFriendOfListenerFunc=this.watchee.getBuddyManager().getEventManager().addListener(hH,function(mV){var mW=mV.getData();
this.onBuddyRemovedEvent(mW,hH);
},this);
this.removeBuddyListenerFunc=this.watchee.getBuddyManager().getEventManager().addListener(dn,function(mX){var mY=mX.getData();
this.onBuddyRemovedEvent(mY,dn);
},this);
qx.event.Timer.once(function(){this.getBuddies();
qx.event.Timer.once(function(){this.getFriendOf();
},this,2000);
},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 mL={loginName:mH};
this.eventManager.fireEvent(cs,mL);

if(this.menuBar!=null){this.menuBar.checkShowingButtons();
}this.historyPreloader=new track.util.HistoryPreloader(this);
this.historyPreloader.checkLoadingHistoryTracks();
}catch(na){this.stopAjaxAnimator();
var mM=(na.constructor==org.xmlBlaster.util.XmlBlasterException&&na.getErrorCodeStr()==cC);
this.logout(mM);
this.stopAjaxAnimator();
if(mM&&this.multipleLoginCounter<2){this.multipleLoginCounter++;
this.loginExecute(mH,mI);
return;
}this.error("Login failed",na);

if(na.constructor==org.xmlBlaster.util.XmlBlasterException){if(na.isTomcatServerSide()){na.setErrorCodeStr(dr);
this.errorMsgBox(this.trc(fB,fD+gO+fL+gN+fJ+gL+dp),na);
}else if(na.getErrorCodeStr()==hd){this.errorMsgBox(this.trc(fB,S),na);
}else if(na.getErrorCodeStr()==cK){this.errorMsgBox(this.trc(fB,bs),na);
}else if(na.getErrorCodeStr()==bQ){this.errorMsgBox(this.trc(fB,gB),na);
}else if(na.getErrorCodeStr()==hz){this.errorMsgBox(this.trc(fB,m),na);
}else if(na.getErrorCodeStr()==hx){this.errorMsgBox(this.trc(fB,bn),na);
}else{this.errorMsgBox(this.trc(fB,bd),na);
}}else{this.errorMsgBox(this.trc(fB,dF),na);
}return;
}this.stopAjaxAnimator();
var mJ=this;
this.watchee.startAjaxPolling(function(nb){mJ.onAjaxUpdate(nb);
});

if(this.postLoginFunction!=null){this.postLoginFunction(mH);
}},fireLoginDone:function(){var nc=this.getMyLoginName();

if(nc==null)return;

try{if(this.menuBar!=null){this.menuBar.showExpiryWarning();
}}catch(ne){this.errorMsgBoxDeveloper(eG+ne);
}
try{this.sendGetPermissionTemplates();
}catch(nf){this.errorMsgBoxDeveloper(cH+nf);
}
try{this.subscribeOnlineStatus();
}catch(ng){this.errorMsgBoxDeveloper(bb+ng);
}
try{this.subscribeStatus(nc);
}catch(nh){this.errorMsgBoxDeveloper(cF+nh);
}
try{this.subscribeAlarm(nc);
}catch(ni){this.errorMsgBoxDeveloper(es+ni);
}
try{this.subscribeXSms(nc);
}catch(nj){this.errorMsgBoxDeveloper(z+nj);
}
try{this.getAlarms(nc,true);
}catch(nk){this.errorMsgBoxDeveloper(dx+nk);
}var nd={loginName:this.watchee.getLoginName()};
this.eventManager.fireEvent(eX,nd);
},getSyncGps:function(nl){var nn=this.watchee.getBuddyManager().getFriendOfOrMyself(nl);

if(nn==null){this.warn("getSyncGps: Buddy not known "+nl);
return;
}
if(!nn.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.warn("getSyncGps: You have not permission to get configuration of "+nl);
return;
}var nm=ft+nl+cr;
this.getLogger().info("Send 'getSyncGps' message to "+nm);
return this.watchee.xbAccess.getSync(nm);
},subscribeGps:function(no){if(this.watchee!=null&&org.xmlBlaster.util.isDefined(no)){if(!no.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
var np=eR;
var nq=fy+no.getLoginName()+hK;
this.watchee.subscribe(nq,np,this.returnQosOrException,this,fu);
}},unSubscribeGps:function(nr){if(this.watchee!=null&&org.xmlBlaster.util.isDefined(nr)){var ns=null;
var nt=fy+nr.getLoginName()+hK;
this.watchee.unSubscribe(nt,ns,this.returnQosOrException,this,fx);
}},subscribeXSms:function(nu){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nu)){var nv=eN;
var nw=fy+nu+gt;
this.watchee.subscribe(nw,nv,this.returnQosOrException,this,eo);
}else{var nv=null;
var nw=bL;
this.watchee.subscribe(nw,nv,this.returnQosOrException,this,eo);
}}},unSubscribeXSms:function(nx){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nx)){var ny=null;
var nz=fy+nx+gt;
this.watchee.unSubscribe(nz,ny,this.returnQosOrException,this,fx);
}else{var ny=null;
var nz=fs;
this.watchee.unSubscribe(nz,ny,this.returnQosOrException,this,fx);
}}},subscribeOnlineStatus:function(){if(this.watchee!=null){var nA=bJ;
var nB=bV+net.watchee.TOPICID_ONLINESTATUS+gx;
this.watchee.subscribe(nB,nA,this.returnQosOrException,this,fu);
}},unSubscribeOnlineStatus:function(){if(this.watchee!=null){var nC=null;
var nD=bV+net.watchee.TOPICID_ONLINESTATUS+gx;
this.watchee.unSubscribe(nD,nC,this.returnQosOrException,this,fx);
}},subscribeCfg:function(nE){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nE)){var nG=this.watchee.getBuddyManager().getBuddyOrMyself(nE);

if(nG==null||!nG.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG))return;
var nF=gM+fI+fK+hD+fE+fG+fF;
var nH=fy+nE+hG;
this.watchee.subscribe(nH,nF,this.returnQosOrException,this,fu);
}else{var nF=null;
var nH=fs;
this.watchee.subscribe(nH,nF,this.returnQosOrException,this,fu);
}}},unSubscribeCfg:function(nI){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nI)){var nJ=null;
var nK=fy+nI+hG;
this.watchee.unSubscribe(nK,nJ,this.returnQosOrException,this,fx);
}else{var nJ=null;
var nK=fs;
this.watchee.unSubscribe(nK,nJ,this.returnQosOrException,this,fx);
}}},subscribeStatus:function(nL){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nL)){if(nL!=this.watchee.getLoginName()){var nN=this.watchee.getBuddyManager().getBuddyOrMyself(nL);

if(nN==null||!nN.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS))return;
}var nM=gM+fI+fK+cq+fE+fG+fF;
var nO=fy+nL+bX;
this.watchee.subscribe(nO,nM,this.returnQosOrException,this,fu);
}else{var nM=null;
var nO=fs;
this.watchee.subscribe(nO,nM,this.returnQosOrException,this,fu);
}}},unSubscribeStatus:function(nP){if(this.watchee!=null){if(org.xmlBlaster.util.isDefined(nP)){var nQ=null;
var nR=fy+nP+bX;
this.watchee.unSubscribe(nR,nQ,this.returnQosOrException,this,fx);
}else{var nQ=null;
var nR=fs;
this.watchee.unSubscribe(nR,nQ,this.returnQosOrException,this,fx);
}}},subscribeAlarm:function(nS){if(this.watchee!=null&&org.xmlBlaster.util.isFilled(nS)){if(nS!=this.watchee.getLoginName()){var nU=this.watchee.getBuddyManager().getBuddyOrMyself(nS);

if(nU==null||!nU.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM))return ;
}var nT=gM+fI+fK+hD+fE+fG+fF;
var nV=fy+nS+bW;
this.watchee.subscribe(nV,nT,this.returnQosOrException,this,fu);
}},unSubscribeAlarm:function(nW){if(this.watchee!=null&&org.xmlBlaster.util.isFilled(nW)){var nX=null;
var nY=fy+nW+bW;
this.watchee.unSubscribe(nY,nX,this.returnQosOrException,this,fx);
}},onAlarmEventFromServer:function(oa,ob){if(oa.getGpsData()!=null){var oc=oa.getGpsData().hasAlarmOfType(net.watchee.RuleTypeEnum.GPSSIGNAL_OK.getId());

if(oc)ob.setGpsSignalOk(true);
var od=oa.getGpsData().hasAlarmOfType(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST.getId());

if(od)ob.setGpsSignalOk(false);
}
if(oa.isRuleTypeEnum(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)){ob.setDeviceSleeping(true);
}
if(oa.isRuleTypeEnum(net.watchee.RuleTypeEnum.ENTER_AWAKE)){ob.setDeviceSleeping(false);
}
if(oa.isAttachedToRule()){ob.countAlarmsAttachedToRulesIncrement();
}ob.countAlarmsIncrement();
this.fireAlarmChangedEvent(oa,od,ob);
},receivedServiceResponse:function(oe,of,og){var ot=org.xmlBlaster.util.PropTO;

for(var k=0,oo=oe.getServices().length;k<oo;k++){var ol=oe.getServices()[k];
var ok=ol.getPropValue(ot.KEY_TASK);
var oh=bt+ok+gW;
var os=this.getRequestResponseDispatcher().onResponseOrException(ol.getBounce(),ol);

if(os){this.getLogger().debug(oh+" "+ol.getPropValue(ot.KEY_BOUNCE)+" done");
this.stopAjaxAnimator();
return;
}
if(ol.isException()){this.getLogger().debug(oh+"EXCEPTION: "+ol.getBounce());

if(this.processingLogout)return;
if(ol.isTask(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ADDBUDDIES))this.errorMsgBox(this.trc(fB,ff,ol.getBounce()));
else if(ol.isTask(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_REMOVEBUDDIES))this.errorMsgBox(this.trc(fB,eb,ol.getBounce(),ol.getBounce()));
else{var oA=null;

if(oA==null)oA=new org.xmlBlaster.util.XmlBlasterException(ol.getErrorCode(),v,ol.getErrorMessage());

if(ol.getErrorCode()==ej){this.errorMsgBox(this.trc(ga,bv),oA);
}else{this.errorMsgBox(this.trc(fB,eY,ol.getTask()),oA);
}}this.stopAjaxAnimator();
return;
}switch(ok){case ot.VALUE_TASK_NAMED_ONLINESTATUS:this.getLogger().debug(oh+"Not expected: "+ol.getResult());
break;
case ot.VALUE_TASK_NAMED_GETBUDDIES:var oi=net.watchee.BuddyListTO.parse(this.watchee,ol.getResult());
this.getLogger().debug(oh+"Calling BuddyManager.setBuddies");
this.watchee.getBuddyManager().setBuddies(oi);

if(this.watchee.getBuddyManager().isSync()){this.fireLoginDone();
}break;
case ot.VALUE_TASK_NAMED_GETFRIENDOF:var om=true;
var oi=net.watchee.BuddyListTO.parse(this.watchee,ol.getResult(),om);
this.getLogger().debug(oh+"Calling BuddyManager.setFriendOf");
this.watchee.getBuddyManager().setFriendOf(oi);

if(this.watchee.getBuddyManager().isSync()){this.fireLoginDone();
}break;
case ot.VALUE_TASK_NAMED_ALARMEVENT:var on=net.watchee.PropertyCollection.parseXml(ol.getResult());
var oq=new track.rulesmodel.AlarmTO(this,on);
var ov=this.watchee.getDevice(oq.getDeviceId());

if(ov==null){this.errorMsgBoxDeveloper(this.trc(fB,bB,op,oq));
return;
}this.getLogger().debug(oh+ov.getLoginName());
this.onAlarmEventFromServer(oq,ov);
var oj=oq.getEventSinkInfoMap().get(fS,null);

if(oj!=null){var ox=xbGetSound(oj);
net.watchee.playSound(ox,this);
}break;
case ot.VALUE_TASK_NAMED_GETPERMISSIONSTEMPLATES:this.getLogger().debug(oh);
this.watchee.setPermissionTemplateList(net.watchee.PermissionTemplateListTO.parse(ol.getResult()));
break;
case ot.VALUE_TASK_NAMED_GETTRACKS:var op=ol.getPropValue(ot.KEY_BOUNCE);
this.getLogger().debug(oh+op);
var ov=this.watchee.getDevice(op);
var ow=net.watchee.Track.parseGpxEnmea(ov,ol.getResult(),ot.VALUE_TASK_NAMED_GETTRACKS);
this.stopAjaxAnimator();
break;
case ot.VALUE_TASK_NAMED_GETTRACK:var op=ol.getPropValue(ot.KEY_BOUNCE);
this.getLogger().debug(oh+op);
var ov=this.watchee.getDevice(op);
var ow=net.watchee.Track.parseGpxEnmea(ov,ol.getResult(),ot.VALUE_TASK_NAMED_GETTRACK);
this.stopAjaxAnimator();
break;
case ot.VALUE_TASK_NAMED_GETACCOUNT:this.getLogger().debug(oh);
var ou=net.watchee.AccountTO.parse(this.watchee,ol.getResult());
this.stopAjaxAnimator();
break;
case ot.VALUE_TASK_NAMED_CHANGEPASSWORD:var op=this.loginForm.getLoginTextFieldValue();
this.getLogger().debug(oh+op);
var oz=ol.getBounce();

if(ol.isException()){this.errorMsgBox(this.trc(fB,B,op,ol.getResult()));
return;
}this.stopAjaxAnimator();
this.loginForm.setPasswordTextFieldValue(oz);
this.infoMsgBox(this.trc(gU,he,op));
break;
case ot.VALUE_TASK_NAMED_CHANGEACCOUNT:var op=ol.getBounce();
this.getLogger().debug(oh+op);

if(ol.isException()){this.errorMsgBox(this.trc(fB,fm),op);
return;
}this.stopAjaxAnimator();
var or=this.watchee.getBuddyManager().getBuddyOrMyself(op);
this.watchee.getBuddyManager().fireChangeAccountEvent(or);
this.infoMsgBox(this.trc(gU,a,op));
break;
case ot.VALUE_TASK_NAMED_REMOVEACCOUNT:var op=ol.getBounce();
var oy=this.getMyOemName();
this.logout();
this.infoMsgBox(this.trc(gU,hh,oy,op));
break;
case net.watchee.Device.SERVICE_KEY_GETSETTINGS:this.stopAjaxAnimator();
var op=of.getSender().getSubjectId();
this.getLogger().debug(oh+op);

if(og.isCfg())this.unSubscribeCfg(op);
var ov=this.watchee.getDevice(op);

if(ov==null){this.errorMsgBoxDeveloper(this.trc(fB,cv,op));
return;
}var on=net.watchee.PropertyCollection.parseXml(ol.getResult());

if(on==null){if(og.isCfg()&&of.getSender().getPubSessionId()<0){this.warn("TODO: Remove subscribeCfg as soon as all WinCE devices are updated:"+ol.toXml());
}else{this.error("propertyCollection (getCommandList) is null: "+ol.toXml());
}break;
}ov.setPropertyCollection(on,true);
break;
case net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST:this.stopAjaxAnimator();
var op=of.getSender().getSubjectId();
this.getLogger().debug(oh+op);
var ov=this.watchee.getDevice(op);

if(ov==null){this.errorMsgBoxDeveloper(this.trc(fB,bN,op)+cE+og+by+org.xmlBlaster.util.escapeXml(of.toXml()));
return;
}var on=net.watchee.PropertyCollection.parseXml(ol.getResult());

if(on==null){if(og.isCfg()&&of.getSender().getPubSessionId()<0){this.warn("TODO: Remove subscribeCfg as soon as all J2ME/WinCE devices are updated:"+ol.toXml());
}else{this.error("propertyCollection (getCommandList) is null: "+ol.toXml());
}break;
}
if(this.getWindowManager().testDeviceWindow!=null)this.getWindowManager().testDeviceWindow.loadData(on);
else this.errorMsgBox(this.trc(fB,eq,op));
break;
default:this.getLogger().error(oh+"Ignoring received service message of task="+ol.getPropValue(ot.KEY_TASK)+": "+ol.getPropValue(ot.KEY_RESULT));
}}},removeAllBuddies:function(){this.buddiesWidget.removeAllBuddies(false);
},getBuddiesWidget:function(){return this.buddiesWidget;
},receivedBuddyList:function(oB){this.startAjaxAnimator(this.trc(fA,eu,oB.getBuddyList().length));
this.handleChangedBuddyAndFriendOfList();
this.startAjaxAnimator(this.trc(fA,fi));
this.stopAjaxAnimator();
},handleChangedBuddyAndFriendOfList:function(){if(this.watchee.getBuddyManager().isSync()==false){this.getLogger().debug("handleChangedBuddyAndFriendOfList ignored as not all data available");
return;
}this.removeAllBuddies(false);
var oD=this.watchee.getBuddyManager().getBuddyAndFriendOfList();
var oC=1;
this.iterBuddyData={buddyTOArr:oD,icurr:0,stepWidth:oC,inext:oC,myself:this,takeARest:0};

if(org.xmlBlaster.util.isOpera)this.iterBuddyData.takeARest=400;
this.startAjaxAnimator(this.trc(fA,ba,oD.length),100000);
this._handleChangedBuddyAndFriendOfListIterate();
},_handleChangedBuddyAndFriendOfListIterate:function(){var oF=this.iterBuddyData;

for(;oF.icurr<oF.inext&&oF.icurr<oF.buddyTOArr.length;oF.icurr++){if(this.watchee==null)return;
this.changeLabelAjaxAnimator(this.trc(fA,D,(oF.icurr+1),oF.buddyTOArr.length));
var oG=oF.buddyTOArr[oF.icurr];
this.watchee.getXbAccess().logTimeElapsed(dy+oG.getLoginName());
var oH=oG.getLoginName();
var oE=this.watchee.getDevice(oH);

if(oE==null){this.getLogger().error("handleChangedBuddyAndFriendOfList: Error: Device "+oH+" is not existing!");
oE=this.watchee.createNewDevice(oH);
}oG.setDevice(oE);
this.buddiesWidget.addBuddy(oG);
this.subscribeStatus(oH);
this.subscribeAlarm(oH);
qx.event.Timer.once(function(){this.getAlarms(oH,true);
},this,5000);

if(oG.isOnline()){this.sendGetDeviceConfiguration(oG.getLoginName());
}}
if(oF.icurr==oF.buddyTOArr.length){this.stopAjaxAnimator();
return ;
}oF.inext+=oF.stepWidth;
qx.event.Timer.once(this._handleChangedBuddyAndFriendOfListIterate,this,oF.takeARest);
},onBuddyRemovedEvent:function(oI,oJ){this.unSubscribeStatus(oI.getDevice().getDeviceId());
this.unSubscribeAlarm(oI.getDevice().getDeviceId());
},receivedFriendOfList:function(oK){this.startAjaxAnimator(this.trc(fA,ei,oK.getBuddyList().length));
this.info("Received friendOf list with "+oK.getBuddyList().length+" entries");
this.handleChangedBuddyAndFriendOfList();
},receivedxSMS:function(oL){if(this.xsmsPhoto!=null){this.xsmsPhoto.xsmsTab.receivedxSMS(oL);
}},onAjaxUpdate:function(oM){var pj=dV;
var oT=this.watchee;

for(var oN=0;oN<oM.length;oN++){var po=oM[oN];

try{if(oT==null){this.getLogger().warn(pj+" Ignoring unexpected update: "+po.dump());
return;
}
if(po.isException()){if(this.processingLogout){return ;
}this.getLogger().debug(pj+"Exception msgUnit="+po.toXml());
var oR=po.getXmlBlasterException();
this.errorMsgBox(this.trc(fB,fD+gO+fL+gN+fJ+gL+dp),oR);
this.logout(false);
return ;
}var oS=org.xmlBlaster.util.PropTO;
var pi=po.getQosData().getClientProperty(oS.KEY_BOUNCE,null);

if(pi!=null){var pk=new org.xmlBlaster.util.ServiceTO();
pk.addProp(new oS(gG,po));
pk.addProp(new oS(oS.KEY_TASK,fV));
var pm=this.getRequestResponseDispatcher().onResponseOrException(pi,pk);

if(pm){this.getLogger().debug(pj+" "+pi+" done");
this.stopAjaxAnimator();
return;
}}var oO=po.getKeyData().getOid();
var oP=new net.watchee.WatcheeTopic(po);

if(oO==net.watchee.TOPICID_ONLINESTATUS){var pg=bD;
var oV=po.getQosData().getClientProperty(pg,null);
var oX=po.getQosData().getClientProperty(eg,false);
var pc=po.getContentStr().indexOf(eW)>0?net.watchee.BuddyTO.STATUS_ONLINE:net.watchee.BuddyTO.STATUS_OFFLINE;
oT.getBuddyManager().changedOnlineStatus(oV,pc,oX);
continue;
}if(oP.isServiceResponse()||oP.isCfg()||oP.isStatus()||oP.isAlarm()){var content=po.getContentStr();

if(!org.xmlBlaster.util.isFilled(content)&&oP.isCfg()){continue;
}var pd=org.xmlBlaster.util.ServiceListTO.parse(content);
oT.getXbAccess().logTimeElapsed(dB+pd.countServices());
this.receivedServiceResponse(pd,po.getQosData(),oP);
continue;
}var pf=oP.getDeviceId();

if(pf.length<1){this.getLogger().warn("Ignoring empty device '"+pf+"' from "+po.dump());
continue;
}var ph=oT.getDevice(pf);

if(ph==null){if(oT.getLoginName()!=pf)this.getLogger().error("Error-onAjaxUpdate: Device "+pf+" is not existing!\n"+po.dump());
ph=oT.createNewDevice(pf);
}ph.updateNiceDeviceName(po);
if(oP.isxSMS()){this.getLogger().info(pj+oP.getTopicId());
var pe=net.watchee.X_SMS.parse(po.getQosData().getSender().getRelativeName(),po.getContentStr());
var pn=po.getQosData().getClientProperty(b,false);

if(pn){var oU=du;
var oV=po.getQosData().getClientProperty(bS,false);
var oY=pe.getBody();
var oQ=po.getQosData().getClientProperty(ht,fz);
var pa=po.getQosData().getClientProperty(eI,null);

if(this.xsmsPhoto!=null&&this.xsmsPhoto.statusTab!=null){this.xsmsPhoto.statusTab.receivedStatus(oU,oV,oY,pa,oQ);
}}else{pe.xmlBlasterRcvTimestampNanos=po.getQosData().getRcvTimestampNanos();
pe.setClientProperties(po.getQosData().getClientProperties());
ph.addReceivedxSMS(pe);
ph.addReceivedxSMSToInfoWindow();
this.receivedxSMS(pe);
}}else if(oP.isNmea()){this.getLogger().info(pj+oP.getTopicId());
var pl=oT.addCurrentENMEA(ph,po);

if(pl!=null){}else{this.errorMsgBox(this.trc(fB,bz,po.getContentStr()));
}}else if(oP.isReset()){this.getLogger().info(pj+": Got update "+oP.getTopicId()+" command="+oP.getCmdStr());
var pb=ph.getCurrentTrack();
pb.clearMappingData();
}else{this.errorMsgBox(this.trc(fB,hj,oO));
}}catch(pp){var oW=po.toXml();
oW=org.xmlBlaster.util.replaceAllTokens(oW,dW,fq);
oW=org.xmlBlaster.util.replaceAllTokens(oW,G,cf);
this.errorMsgBoxDeveloper(eh+oW+dK+pp+H);
}}},logout:function(pq){if(this.watchee==null)return;
this.getLogger().debug("logout called "+this.watchee.getLoginName()+" ...");

try{this.processingLogout=true;
var pt={loginName:this.watchee.getLoginName()};
this.eventManager.fireEvent(cS,pt);
var pq=org.xmlBlaster.util.toBoolean(pq,true);
this.startAjaxAnimator(this.trc(gg,ds));
this.loginForm.isLoggedOut();
this.makeLoginLabel(this.trc(dt,ee));
try{this.requestResponseDispatcher.clear();
}catch(pu){this.getLogger().error("this.requestResponseDispatcher.clear()",pu);
}
if(this.menuBar!=null){this.menuBar.onLogout();
}this.getWindowManager().clear();

if(pq)this.watchee.disconnect();

try{this.buddiesWidget.clear();
}catch(pv){this.getLogger().error("this.buddiesWidget.clear()",pv);
}
if(this.xsmsPhoto!=null){this.xsmsPhoto.setEnabled(false);
this.xsmsPhoto.clearTabView();
}
if(this.embeddedFramelb!=null){try{this.embeddedFramelb.setEnabled(false);
}catch(pw){this.getLogger().error("this.embeddedFramelb.setVisibility()",pw);
}}
try{if(org.xmlBlaster.util.isDefined(this.preferenceWindow)){this.preferenceWindow.close();
this.preferenceWindow=null;
}}catch(px){this.getLogger().error("this.preferenceWindow",px);
}var pr=this.getMyRoot();
var ps=pr.getChildren();

for(var i=0;i<ps.length;i++){if(ps[i] instanceof track.pref.PreferenceWindow){ps[i].destroyPopup();
}}if(this.watchee!=null)this.watchee.shutdown();
this.watchee=null;
this.stopAjaxAnimator();
}catch(py){this.errorMsgBoxDeveloper(d,py);
}},returnQosOrException:function(pz,pA,pB){var pB=pB||null;

try{if(pz==null){this.getLogger().error("returnQosOrException with dataReceived=null");
return;
}var pD=org.xmlBlaster.util.getDOMDocument(pz);
var pF=org.xmlBlaster.util.parseXmlBlasterResponse(pD);

if(pF.length==0){this.getLogger().info("returnQosOrException '"+pB+"' with msgUnits=0");
return;
}var pH=pF[0];

if(pH.isException()){var pG=pH.getXmlBlasterException();
var pC=pG.getErrorCodeStr();
var pE=pG.getMessage();

if(pB==null){this.errorMsgBox(this.trc(fB,dP),pH.getXmlBlasterException());
return;
}
if(pG.isTomcatServerSide()){pG.setErrorCodeStr(dr);
this.logout(false);
this.errorMsgBox(this.trc(fB,fD+gO+fL+gN+fJ+gL+dp),pG);
}else if(pz.indexOf(eJ)!=-1){this.logout(false);
this.errorMsgBox(this.trc(fB,dE));
}else if(pz.indexOf(ea)!=-1){if(this.watchee==null){return ;
}this.logout(false);
this.errorMsgBox(this.trc(fB,r,pC));
}else if(gv==pB){this.errorMsgBox(this.trc(fB,dO,pC));
}else if(pC==o){this.getLogger().warn("Server Exception, "+pB+" failed: "+pC+" "+pE);
}else if(pC.indexOf(dC)!=-1&&pB!=bj&&pB!=eV){this.errorMsgBoxDeveloper(dR+pB+P+pC+eK+pE);
}else{this.errorMsgBox(this.trc(fB,c,pB),pH.getXmlBlasterException());
}this.stopAjaxAnimator();
return;
}else{}}catch(pI){this.errorMsgBox(this.trc(fB,fM),pI);
}},shutdown:function(){this.logout();
}},destruct:function(){this._disposeFields(fp,gV,gp,dh,cQ);
this._disposeObjects(gr,cu,fc,A,dI,fd,dg,bk,df,gD,bf,R,C,gm,bx,fb,ek,ef,eF,M,bc);
}});
})();
(function(){var k='#bfbfbf',j="execute",i="middle",h="right",g="resize",f="Ok",d="promptMsgBox-Button",c="16/actions/dialog-ok.png",b="focusout",a="button",O="",N="</i></td></tr></table>",M="<br /><table width='100%' style='font-size:1.0em'><tr><td><i>",L="focusOut",K="</td></tr></table>",J="32/status/dialog-error.png",I="default",H="icon/16/actions/dialog-ok.png",G="22/actions/dialog-apply.png",F="Error",r="Cancel",s="No",p="<br /><b>Detail: ",q="Question",n="track.msgbox.MsgBox",o="</b><br /><br /><table width='100%' style='font-size:1.0em'><tr><td><i>",l="<br /><b>",m="title",t="32/status/dialog-information.png",u="</b>",x="Yes",w="22/actions/dialog-cancel.png",z="Info",y="32/question_mark.png",B="<table width='560px' style='font-size:1.1em'><tr><td>",A="16/actions/dialog-cancel.png",v="infoMsgBox",E="Watchee Form",D="errMsgBox-Button",C="32/status/dialog-warning.png";
theCurrentMsgBox=null;
qx.Class.define(n,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(P){qx.core.Object.call(this);
this.trackGui=P;
},members:{askMsgBox:function(Q,R,S,T,U,V,W){var V=V||null;
var W=W||null;
var Q=org.xmlBlaster.util.isFilled(Q)?Q:this.trc(m,q);
var S=org.xmlBlaster.util.isDefined(S)?S:null;
this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.4});
var bb=new qx.ui.window.Window(Q);
bb.setLayout(new qx.ui.layout.VBox());
bb.setModal(true);
bb.setShowClose(false);
bb.setMaxWidth(640);
bb.setMaxHeight(480);
bb.setAllowMaximize(false);
bb.setAllowMinimize(false);
bb.addListener(g,bb.center);
this.trackGui.getMyRoot().add(bb);
var bd=new qx.ui.layout.HBox().set({spacing:10,alignX:h,alignY:i});
var ba=new qx.ui.container.Composite(bd).set({paddingTop:10});
bb.add(ba);
var bg=new qx.ui.basic.Image(xbGetIcon(y));
ba.add(bg,{left:10,top:10});
var bf=new qx.ui.basic.Label().set({value:R,rich:true,width:280});
ba.add(bf);
var be=new qx.ui.layout.HBox().set({spacing:4,alignX:h});
var X=new qx.ui.container.Composite(be).set({paddingTop:11});
bb.add(X);

if(V==null){V=this.trc(a,x);
}var Y=new qx.ui.form.Button(V,xbGetQxIcon(G));
Y.addState(I);
Y.addListener(j,function(e){this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});

if(S!=null){S.call(T,true,U);
}bb.close();
},this);
X.add(Y);

if(W==null){W=this.trc(a,s);
}var bc=new qx.ui.form.Button(W,xbGetQxIcon(w));
bc.addListener(j,function(e){this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});

if(S!=null){S.call(T,false,U);
}bb.close();
},this);
X.add(bc);
bb.open();
return bb;
},errorMsgBox:function(bh,bi){this.trackGui.stopAjaxAnimator();
this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.6});
var bh=org.xmlBlaster.util.isDefined(bh)?bh:O;
var bp=null;
var br=O;

if(org.xmlBlaster.util.isDefined(bi)){if(bi.constructor==org.xmlBlaster.util.XmlBlasterException){if(false){bp=l+bi.getErrorCodeStr()+o+bi.getMessage()+N;
}else{bp=p+bi.getErrorCodeStr()+u;
br=bi.getMessage();
}}else{bp=M+bi+N;
}}this.error(bh+" "+bp+" "+br);
var bl=640;
var bn=10;
var bj=640-2*bn;
var bt=new qx.ui.window.Window(F);
bt.setLayout(new qx.ui.layout.VBox());
bt.setModal(true);
bt.setShowClose(true);
bt.setMaxWidth(bl);
bt.setMaxHeight(480);
bt.setAllowMaximize(false);
bt.setAllowMinimize(false);
bt.addListener(g,bt.center);
this.trackGui.getMyRoot().add(bt);
var bo=new qx.ui.layout.HBox().set({spacing:bn,alignY:i});
var bm=new qx.ui.container.Composite(bo);
bm.setMaxWidth(bj);
bt.add(bm);
bm.add(new qx.ui.basic.Image(xbGetQxIcon(J)));
bh=B+bh+K;
var bs=new qx.ui.basic.Label().set({width:bj,maxWidth:bj,rich:true,value:bh});
bm.add(bs);

if(bp!=null){var bu=new qx.ui.layout.HBox().set({spacing:bn,alignY:i});
var bq=new qx.ui.container.Composite(bu);
bq.setMaxWidth(bj);
bt.add(bq);
bq.add(new qx.ui.basic.Label().set({value:bp,rich:true,width:bj,maxWidth:bj}));
}var bv=new qx.ui.layout.HBox().set({spacing:4,alignX:h});
var bk=new qx.ui.container.Composite(bv).set({paddingTop:11});
bk.setMaxWidth(bj);
bt.add(bk);
var bw=new qx.ui.form.Button(this.trc(D,f),xbGetQxIcon(c));
bw.addListener(j,function(e){if(theCurrentMsgBox==bt){theCurrentMsgBox=null;
}this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});
bt.close();
},this);
bk.add(bw);
bt.addListener(b,function(e){this.info("errorMsgBox got focusout");

if(theCurrentMsgBox==bt){bt.open();
}},this);
bt.open();
return bt;
},infoMsgBox:function(bx,by,bz,bA){var bA=bA||null;

if(bA==null)bA=xbGetQxIcon(t);
var by=org.xmlBlaster.util.toNumber(by);
var bD=new qx.ui.window.Window(z);
theCurrentMsgBox=bD;
bD.setLayout(new qx.ui.layout.VBox());
var bF=org.xmlBlaster.util.toBoolean(bz,true);
bD.setModal(bF);
bD.setShowClose(false);
bD.setMaxWidth(640);
bD.setMaxHeight(480);
bD.setAllowMaximize(false);
bD.setAllowMinimize(false);

if(bF)this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.4});
bD.addListener(g,bD.center);
bD.setZIndex(2000000);
this.trackGui.getMyRoot().add(bD);
var bE=new qx.ui.layout.HBox().set({spacing:10,alignY:i});
var bC=new qx.ui.container.Composite(bE);
bD.add(bC);
bC.add(new qx.ui.basic.Image(bA));
bC.add(new qx.ui.basic.Label().set({value:bx,rich:true}));
var bG=new qx.ui.layout.HBox().set({spacing:4,alignX:h});
var bB=new qx.ui.container.Composite(bG).set({paddingTop:11});
bD.add(bB);
var bH=new qx.ui.form.Button(this.trc(v,f),xbGetQxIcon(c));
bH.addListener(j,function(e){if(theCurrentMsgBox==bD){theCurrentMsgBox=null;
}
if(bF)this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});
bD.close();
},this);
bH.setZIndex(9);
bH.focus();
bB.add(bH);
bD.addListener(b,function(e){if(theCurrentMsgBox==bD){bD.open();
}},this);
bD.open();
if(by>0){qx.event.Timer.once(this.closeWm2,bD,by);
}return bD;
},closeWm2:function(){var bI=this;

if(theCurrentMsgBox==bI)theCurrentMsgBox=null;
bI.info("Calling closeWm2");
bI.removeListener(L,null,bI);
bI.close();
},promptMsgBox:function(bJ,bK,bL,bM,bN,bO,bP,bQ){var bJ=org.xmlBlaster.util.isFilled(bJ)?bJ:E;
var bO=org.xmlBlaster.util.isDefined(bO)?bO:null;
this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.4});
var bT=new qx.ui.window.Window(bJ);
bT.setLayout(new qx.ui.layout.VBox(10));
bT.setModal(true);
bT.setShowClose(false);
bT.setMaxWidth(480);
bT.setMaxHeight(400);
bT.setAllowMaximize(false);
bT.setAllowMinimize(false);
bT.addListener(g,bT.center);
this.trackGui.getMyRoot().add(bT);
var bV=new qx.ui.layout.HBox().set({spacing:10,alignY:i});
var bS=new qx.ui.container.Composite(bV);
bT.add(bS);
bS.add(new qx.ui.basic.Image(xbGetQxIcon(C)));
bS.add(new qx.ui.basic.Label().set({value:bK,rich:true}));
var bU=new qx.ui.form.TextField(bL);

with(bU){setPadding(5);
setPaddingRight(15);
setReadOnly(false);
}bT.add(bU,{top:60,left:48});
var bW=new qx.ui.layout.HBox().set({spacing:4,alignX:h});
var bR=new qx.ui.container.Composite(bW).set({paddingTop:11});
bT.add(bR);
var bY=new qx.ui.form.Button(this.trc(d,f),H);
var bX=new qx.ui.form.Button(this.trc(d,r),xbGetQxIcon(A));
bY.addListener(j,function(e){this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});

if(bO!=null){if(bU.getValue().length<bM)return;
bO.call(bP,true,bU.getValue(),bQ);
}bT.close();
},this);
bR.add(bY);
bX.addListener(j,function(e){this.trackGui.getMyRoot().set({blockerColor:k,blockerOpacity:0.0});

if(bO!=null){bO.call(bP,false,bU.getValue(),bQ);
}bT.close();
},this);

if(bN)bR.add(bX);
bT.open();
return bT;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var p="logoutPre",o="loginPost",n="loginDone",m="statisticWindow.enabled",l="trackConfigWindow.enabled",k="statisticWindow.open",j="adminDeviceWindow.enabled",h="userAdminWindow.enabled",g="track.util.WindowManager",f="deviceConfigWindow.enabled",c="rulesWindow.enabled",e="geofenceWindow.enabled",d="buddyConfigWindow.enabled",b="alarmWindow.enabled",a="taskWindow.enabled";
qx.Class.define(g,{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.taskWindow=null;
this.registerListeners();
},members:{registerListeners:function(){this.loginPostListenerFunc=this.trackGui.getEventManager().addListener(o,function(r){},this);
this.loginDoneListenerFunc=this.trackGui.getEventManager().addListener(n,function(s){this.onLoginDone();
},this);
this.logoutPreListenerFunc=this.trackGui.getEventManager().addListener(p,function(t){},this);
},onLoginDone:function(){if(xbProperties.getBoolean(k,false)==true){this.popupStatisticWindow();
}},findBuddyConfigWindow:function(u){var v=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<v.length;i++){if(v[i] instanceof track.buddy.BuddyWindow){if(v[i].getBuddyTO().getLoginName()==u){return v[i];
}}}return null;
},clearBuddyConfigWindow:function(w){var x=this.findBuddyConfigWindow(w);

if(x!=null){try{x.hide();
x.destroyPopup();
}catch(y){this.error("clearBuddyConfigWindow("+w+") failed:"+y);
x=null;
}}},clearAllBuddyConfigWindow:function(){var z=this.trackGui.getMyRoot();
var A=z.getChildren();

for(var i=0;i<A.length;i++){if(A[i] instanceof track.buddy.BuddyWindow){A[i].destroyPopup();
}}},popupBuddyConfigWindow:function(B){if(xbProperties.getBoolean(d,true)==false){return null;
}var C=this.findBuddyConfigWindow(B.getLoginName());

if(C==null){C=new track.buddy.BuddyWindow(this.trackGui,B);
C.createBuddyConfigWindow();
}else{C.open();
}C.focus();
return C;
},findTrackConfigWindow:function(D){var E=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<E.length;i++){if(E[i] instanceof track.trackconf.TrackConfigWindow){if(E[i].getBuddyTO().getLoginName()==D){return E[i];
}}}return null;
},clearTrackConfigWindow:function(F){var G=this.findTrackConfigWindow(F);

if(G!=null){try{G.hide();
G.destroyPopup();
}catch(H){this.error("clearTrackConfigWindow("+F+") failed:"+H);
G=null;
}}},clearAllTrackConfigWindow:function(){var I=this.trackGui.getMyRoot();
var J=I.getChildren();

for(var i=0;i<J.length;i++){if(J[i] instanceof track.trackconf.TrackConfigWindow){J[i].destroyPopup();
}}},popupTrackConfigWindow:function(K,L){if(xbProperties.getBoolean(l,true)==false){return null;
}var M=this.findTrackConfigWindow(K.getLoginName());

if(M==null){M=new track.trackconf.TrackConfigWindow(this.trackGui,K,L);
M.createTrackConfigWindow();
}else{M.open();
}M.focus();
return M;
},findDeviceConfigWindow:function(N){var O=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<O.length;i++){if(O[i] instanceof track.deviceconf.DeviceWindow){if(O[i].getBuddyTO().getLoginName()==N){return O[i];
}}}return null;
},popupDeviceConfigWindow:function(P){if(xbProperties.getBoolean(f,true)==false){return null;
}var Q=this.findDeviceConfigWindow(P.getLoginName());

if(Q==null){Q=new track.deviceconf.DeviceWindow(this.trackGui,P);
Q.createDeviceWindow();
}else{Q.open();
Q.focus();
}return Q;
},clearAllDeviceConfigWindow:function(){var R=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<R.length;i++){if(R[i] instanceof track.deviceconf.DeviceWindow){R[i].destroyPopup();
}}},popupRulesWindow:function(S,T,U,V,W){var S=S||null;
var T=T||null;
var U=U||null;
var V=V||null;
var W=W||false;

if(xbProperties.getBoolean(c,true)==false){return null;
}
if(this.rulesWindow==null){this.rulesWindow=new track.rules.RulesWindow(this.trackGui);
this.rulesWindow.createRulesWindow(S);
}var X=this.rulesWindow.setSpecificDevice(S,T,U,V);

if(W||X){this.rulesWindow.open();
this.rulesWindow.focus();
return this.rulesWindow;
}return null;
},clearRulesWindow:function(Y){if(this.rulesWindow!=null){this.rulesWindow.destroyPopup();
this.rulesWindow=null;
}},popupStatisticWindow:function(ba){if(xbProperties.getBoolean(m,true)==false){return null;
}var ba=ba||null;

if(this.statisticWindow==null){this.statisticWindow=new track.statistic.StatisticWindow(this.trackGui);
this.statisticWindow.createStatisticWindow(ba);
}var bb=true;

if(bb){this.statisticWindow.open();
this.statisticWindow.focus();
this.statisticWindow.onPostOpen();
return this.statisticWindow;
}return null;
},clearStatisticWindow:function(bc){if(this.statisticWindow!=null){this.statisticWindow.destroyPopup();
this.statisticWindow=null;
}},popupTaskWindow:function(bd){if(xbProperties.getBoolean(a,true)==false){return null;
}var bd=bd||null;

if(this.taskWindow==null){this.taskWindow=new track.tasks.TaskWindow(this.trackGui);
this.taskWindow.create(bd);
}var be=true;

if(be){this.taskWindow.open();
this.taskWindow.focus();
return this.taskWindow;
}return null;
},clearTaskWindow:function(bf){if(this.taskWindow!=null){this.taskWindow.destroyPopup();
this.taskWindow=null;
}},popupGeofenceWindow:function(){if(xbProperties.getBoolean(e,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(bg){var bh=this.trackGui.getMyRoot().getChildren();

for(var i=0;i<bh.length;i++){if(bh[i] instanceof track.alarm.AlarmWindow){if(bh[i].getBuddyTO().getLoginName()==bg){return bh[i];
}}}return null;
},clearAlarmWindow:function(bi){var bj=this.findAlarmWindow(bi);

if(bj!=null){try{bj.hide();
bj.destroyPopup();
}catch(bk){this.error("clearAlarmWindow("+bi+") failed:"+bk);
bj=null;
}}},clearAllAlarmWindow:function(){var bl=this.trackGui.getMyRoot();
var bm=bl.getChildren();

for(var i=0;i<bm.length;i++){if(bm[i] instanceof track.alarm.AlarmWindow){bm[i].destroyPopup();
}}},popupAlarmWindow:function(bn){if(xbProperties.getBoolean(b,true)==false){return null;
}var bo=this.findAlarmWindow(bn.getLoginName());

if(bo==null){bo=new track.alarm.AlarmWindow(this.trackGui,bn);
bo.createAlarmWindow();

if(bo.onPreOpen()==false)return null;
}else{if(bo.onPreOpen()==false)return null;
bo.open();
}bo.focus();
return bo;
},popupTestDeviceWindow:function(bp){if(xbProperties.getBoolean(j,true)==false){return null;
}
if(!org.xmlBlaster.util.isDefined(bp))bp=null;

if(this.testDeviceWindow==null){this.testDeviceWindow=new track.admin.TestDeviceWindow(this.trackGui);
this.testDeviceWindow.showForm(bp);
}this.testDeviceWindow.initForDeviceId(bp);
this.testDeviceWindow.window.open();
this.testDeviceWindow.window.focus();
return this.testDeviceWindow;
},clearTestDeviceWindow:function(bq){if(this.testDeviceWindow!=null){this.testDeviceWindow.destroyPopup();
this.testDeviceWindow=null;
}},popupUserAdminWindow:function(){if(xbProperties.getBoolean(h,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(br){if(this.userAdminWindow!=null){this.userAdminWindow.destroyPopup();
this.userAdminWindow=null;
}},clear:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(o,this.loginPostListenerFunc);
this.loginPostListenerFunc=null;
}
if(this.loginDoneListenerFunc!=null){this.trackGui.getEventManager().removeListener(n,this.loginDoneListenerFunc);
this.loginDoneListenerFunc=null;
}
if(this.logoutPreListenerFunc!=null){this.trackGui.getEventManager().removeListener(p,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 l="updateBuddy",k="%1",j="changeAccount",i="window text",h="updateFriendOf",g="window title",f="16/apps/preferences-users.png",e="Here you can configure your buddy %1 and give permissions",d="track.buddy.BuddyWindow",c="Here you can configure your account";
var a=50;
var b=150;
qx.Class.define(d,{extend:track.util.WindowWithHelpIcon,construct:function(m,n){track.util.WindowWithHelpIcon.call(this);
this.buddyTO=n;
this.setCaption(this.trc(g,k,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetQxIcon(f));
this.trackGui=m;
this.log=this.trackGui.getLogger();
this.trackDisplayTab=null;
this.permissionTab=null;
this.initialize();
},members:{initialize:function(){var o=this.buddyTO.getDevice();
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(j,function(p){if(this.buddyTO==null||p==null||p.getData()==null||p.getData().buddyTO==null){this.error("BuddyWindows.js: this.buddyTO==null in changeAccount, why?");
return;
}
if(p.getData().buddyTO.getLoginName()==this.buddyTO.getLoginName())this.setCaption(this.trc(g,k,this.buddyTO.getAliasAndLoginName()));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(h,function(q){if(this.buddyTO==null||q==null||q.getData()==null||q.getData().buddyTO==null||this.buddyTO.getLoginName()!=q.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(l,function(r){if(this.buddyTO==null||r==null||r.getData()==null||r.getData().buddyTO==null||this.buddyTO.getLoginName()!=r.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(a>200)a=50;
a+=25;
return a;
},getBuddyConfigWindowLeft:function(){if(b>350)b=150;
b+=25;
return b;
},createBuddyConfigWindow:function(){this.moveTo(this.getBuddyConfigWindowLeft(),this.getBuddyConfigWindowTop());
var t=(this.buddyTO.isCurrentLoginAccount())?(this.trc(i,c)):(this.trc(i,e,this.buddyTO.getAliasAndLoginName()));
var s=new qx.ui.basic.Label(t);
s.setRich(true);
this.add(s);
this.tabView=new track.util.EnhancedTabView();

if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){this.accountConfigTab=new track.buddy.AccountConfigTab(this);
this.accountConfigTab.createTab(this.tabView);
}var u=(this.buddyTO.isCurrentLoginAccount())?false:true;

if(u){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);
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(j,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;

if(this.updateFriendOfListenerFunc!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(h,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;

if(this.updateBuddyFunc!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(l,this.updateBuddyFunc);
this.updateBuddyFunc=null;
this.trackGui=null;
this.buddyTO=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var m="pane",k="lastTab",j="bar",h="page",g="firstTab",f="right",d="bottom",c="button",b="changeSelection",a="close",B="top",A="left",z="qx.event.type.Data",y="barRight",x="beforeChangeSelection",w="close-button",v="tabview",u="vertical",t="_applyBarPosition",s="barLeft",q="horizontal",r="qx.ui.tabview.TabView",o="barTop",p="barBottom",n="__rR";
qx.Class.define(r,{extend:qx.ui.core.Widget,implement:qx.ui.core.ISingleSelection,include:[qx.ui.core.MContentPadding],construct:function(C){qx.ui.core.Widget.call(this);
this.__rQ={top:o,right:y,bottom:p,left:s};
this._createChildControl(j);
this._createChildControl(m);
var D=this.__rR=new qx.ui.form.RadioGroup;
D.setWrap(false);
D.addListener(b,this._onChangeSelection,this);
if(C!=null){this.setBarPosition(C);
}else{this.initBarPosition();
}},events:{"changeSelection":z},properties:{appearance:{refine:true,init:v},barPosition:{check:[A,f,B,d],init:B,apply:t}},members:{__rR:null,_createChildControlImpl:function(E,F){var G;

switch(E){case j:G=new qx.ui.container.SlideBar();
G.setZIndex(10);
this._add(G);
break;
case m:G=new qx.ui.container.Stack;
G.setZIndex(5);
this._add(G,{flex:1});
break;
}return G||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,E);
},_getContentPaddingTarget:function(){return this.getChildControl(m);
},add:function(H){{};
var I=H.getButton();
var J=this.getChildControl(j);
var L=this.getChildControl(m);
H.exclude();
J.add(I);
L.add(H);
this.__rR.add(I);
H.addState(this.__rQ[this.getBarPosition()]);
H.addState(k);
var K=this.getChildren();

if(K[0]==H){H.addState(g);
}else{K[K.length-2].removeState(k);
}H.addListener(a,this._onPageClose,this);
},remove:function(M){var R=this.getChildControl(m);
var P=this.getChildControl(j);
var O=M.getButton();
var Q=R.getChildren();
if(this.getSelection()[0]==M){var N=Q.indexOf(M);

if(N==0){if(Q[1]){this.setSelection([Q[1]]);
}else{this.resetSelection();
}}else{this.setSelection([Q[N-1]]);
}}P.remove(O);
R.remove(M);
this.__rR.remove(O);
M.removeState(this.__rQ[this.getBarPosition()]);
if(M.hasState(g)){M.removeState(g);

if(Q[0]){Q[0].addState(g);
}}
if(M.hasState(k)){M.removeState(k);

if(Q.length>0){Q[Q.length-1].addState(k);
}}M.removeListener(a,this._onPageClose,this);
},getChildren:function(){return this.getChildControl(m).getChildren();
},indexOf:function(S){return this.getChildControl(m).indexOf(S);
},__rQ:null,_applyBarPosition:function(T,U){var V=this.getChildControl(j);
var bb=T==A||T==f;
var Y=T==f||T==d;
var ba=bb?qx.ui.layout.HBox:qx.ui.layout.VBox;
var bd=this._getLayout();

if(bd&&bd instanceof ba){}else{this._setLayout(bd=new ba);
}bd.setReversed(Y);
V.setOrientation(bb?u:q);
var bc=this.getChildren();
if(U){var W=this.__rQ[U];
V.removeState(W);
for(var i=0,l=bc.length;i<l;i++){bc[i].removeState(W);
}}
if(T){var X=this.__rQ[T];
V.addState(X);
for(var i=0,l=bc.length;i<l;i++){bc[i].addState(X);
}}},getSelection:function(){var be=this.__rR.getSelection();
var bf=[];

for(var i=0;i<be.length;i++){bf.push(be[i].getUserData(h));
}return bf;
},setSelection:function(bg){var bh=[];

for(var i=0;i<bg.length;i++){bh.push(bg[i].getChildControl(c));
}this.__rR.setSelection(bh);
},resetSelection:function(){this.__rR.resetSelection();
},isSelected:function(bi){var bj=bi.getChildControl(c);
return this.__rR.isSelected(bj);
},isSelectionEmpty:function(){return this.__rR.isSelectionEmpty();
},getSelectables:function(bk){var bl=this.__rR.getSelectables(bk);
var bm=[];

for(var i=0;i<bl.length;i++){bm.push(bl[i].getUserData(h));
}return bm;
},_onChangeSelection:function(e){var br=this.getChildControl(m);
var bo=e.getData()[0];
var bq=e.getOldData()[0];
var bn=[];
var bp=[];

if(bo){bn=[bo.getUserData(h)];
br.setSelection(bn);
bo.focus();
this.scrollChildIntoView(bo,null,null,false);
}else{br.resetSelection();
}
if(bq){bp=[bq.getUserData(h)];
}this.fireDataEvent(b,bn,bp);
},_onBeforeChangeSelection:function(e){if(!this.fireNonBubblingEvent(x,qx.event.type.Event,[false,true])){e.preventDefault();
}},_onRadioChangeSelection:function(e){var bs=e.getData()[0];

if(bs){this.setSelection([bs.getUserData(h)]);
}else{this.resetSelection();
}},_onPageClose:function(e){var bu=e.getTarget();
var bt=bu.getButton().getChildControl(w);
bt.reset();
this.remove(bu);
}},destruct:function(){this._disposeObjects(n);
this.__rQ=null;
}});
})();
(function(){var a="track.util.EnhancedTabView";
qx.Class.define(a,{extend:qx.ui.tabview.TabView,include:[qx.locale.MTranslation],construct:function(){qx.ui.tabview.TabView.call(this);
this.setContentPadding(0);
this.lastAddedPage=null;
},members:{addPage:function(b,content){var c=new qx.ui.tabview.Page(b);
c.setLayout(new qx.ui.layout.VBox(0));
c.add(content);
this.lastAddedPage=c;
this.add(c);
},addContent:function(content){if(this.lastAddedPage!=null)this.lastAddedPage.add(content);
}}});
})();
(function(){var d="_applyDynamic",c="changeSelection",b="Boolean",a="qx.ui.container.Stack";
qx.Class.define(a,{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(c,this.__rS,this);
},properties:{dynamic:{check:b,init:false,apply:d}},members:{_applyDynamic:function(f){var h=this._getChildren();
var g=this.getSelection()[0];
var j;

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

if(j!=g){if(f){h[i].exclude();
}else{h[i].hide();
}}}},_getItems:function(){return this.getChildren();
},_isAllowEmptySelection:function(){return true;
},_isItemSelectable:function(k){return true;
},__rS:function(e){var m=e.getOldData()[0];
var n=e.getData()[0];

if(m){if(this.isDynamic()){m.exclude();
}else{m.hide();
}}
if(n){n.show();
}},add:function(o){this._add(o);
var p=this.getSelection()[0];

if(!p){this.setSelection([o]);
}else if(p!==o){if(this.isDynamic()){o.exclude();
}else{o.hide();
}}},remove:function(q){this._remove(q);

if(this.getSelection()[0]===q){var r=this._getChildren()[0];

if(r){this.setSelection([r]);
}else{this.resetSelection();
}}},indexOf:function(s){return this._indexOf(s);
},getChildren:function(){return this._getChildren();
},previous:function(){var v=this.getSelection()[0];
var t=this._indexOf(v)-1;
var w=this._getChildren();

if(t<0){t=w.length-1;
}var u=w[t];
this.setSelection([u]);
},next:function(){var y=this.getSelection()[0];
var x=this._indexOf(y)+1;
var z=this._getChildren();
var A=z[x]||z[0];
this.setSelection([A]);
}}});
})();
(function(){var l="button",k="",j="close",i="String",h="_applyIcon",g="page",f="qx.event.type.Event",e="_applyShowCloseButton",d="tabview-page",c="qx.ui.tabview.Page",a="_applyLabel",b="Boolean";
qx.Class.define(c,{extend:qx.ui.container.Composite,construct:function(m,n){qx.ui.container.Composite.call(this);
this._createChildControl(l);
if(m!=null){this.setLabel(m);
}
if(n!=null){this.setIcon(n);
}},events:{"close":f},properties:{appearance:{refine:true,init:d},label:{check:i,init:k,apply:a},icon:{check:i,init:k,apply:h},showCloseButton:{check:b,init:false,apply:e}},members:{_forwardStates:{barTop:1,barRight:1,barBottom:1,barLeft:1,firstTab:1,lastTab:1},_applyIcon:function(o,p){this.getChildControl(l).setIcon(o);
},_applyLabel:function(q,r){this.getChildControl(l).setLabel(q);
},_applyEnabled:function(s,t){qx.ui.container.Composite.prototype._applyEnabled.call(this,s,t);
var u=this.getChildControl(l);
s==null?u.resetEnabled():u.setEnabled(s);
},_createChildControlImpl:function(v,w){var x;

switch(v){case l:x=new qx.ui.tabview.TabButton;
x.setAllowGrowX(true);
x.setAllowGrowY(true);
x.setUserData(g,this);
x.addListener(j,this._onButtonClose,this);
break;
}return x||qx.ui.container.Composite.prototype._createChildControlImpl.call(this,v);
},_applyShowCloseButton:function(y,z){this.getChildControl(l).setShowCloseButton(y);
},_onButtonClose:function(){this.fireEvent(j);
},getButton:function(){return this.getChildControl(l);
}}});
})();
(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(p){{};
qx.ui.form.Button.call(this,p);
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(q,r){q?this.addState(o):this.removeState(o);

if(q&&this.getFocusable()){this.focus();
}},_applyGroup:function(s,t){if(t){t.remove(this);
}
if(s){s.add(this);
}},_onExecute:function(e){this.setValue(true);
},_onKeyPress:function(e){var u=this.getGroup();

if(!u){return;
}
switch(e.getKeyIdentifier()){case g:case c:u.selectPrevious();
break;
case l:case b:u.selectNext();
break;
}}}});
})();
(function(){var o="close-button",n="middle",m="left",l="icon",k="label",j="right",i="click",h="Boolean",g="bottom",f="qx.ui.tabview.TabButton",c="center",e="_applyShowCloseButton",d="top",b="close",a="qx.event.type.Data";
qx.Class.define(f,{extend:qx.ui.form.RadioButton,implement:qx.ui.form.IRadioItem,construct:function(){qx.ui.form.RadioButton.call(this);
var p=new qx.ui.layout.Grid(2,0);
p.setRowAlign(0,m,n);
p.setColumnAlign(0,j,n);
this._getLayout().dispose();
this._setLayout(p);
this.initShowCloseButton();
},events:{"close":a},properties:{showCloseButton:{check:h,init:false,apply:e}},members:{_forwardStates:{focused:true,checked:true},_applyIconPosition:function(q,r){var s={icon:this.getChildControl(l),label:this.getChildControl(k),closeButton:this.getShowCloseButton()?this.getChildControl(o):null};
for(var t in s){if(s[t]){this._remove(s[t]);
}}
switch(q){case d: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 g: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 m: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 j: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,v){var w;

switch(u){case k:var w=new qx.ui.basic.Label(this.getLabel());
w.setAnonymous(true);
this._add(w,{row:0,column:2});
this._getLayout().setColumnFlex(2,1);
break;
case l:w=new qx.ui.basic.Image(this.getIcon());
w.setAnonymous(true);
this._add(w,{row:0,column:0});
break;
case o:w=new qx.ui.form.Button();
w.addListener(i,this._onCloseButtonClick,this);
this._add(w,{row:0,column:4});

if(!this.getShowCloseButton()){w.exclude();
}break;
}return w||qx.ui.form.RadioButton.prototype._createChildControlImpl.call(this,u);
},_onCloseButtonClick:function(){this.fireDataEvent(b,this);
},_applyShowCloseButton:function(x,y){if(x){this._showChildControl(o);
}else{this._excludeChildControl(o);
}},_applyCenter:function(z){var A=this._getLayout();

if(z){A.setColumnAlign(2,c,n);
}else{A.setColumnAlign(2,m,n);
}}}});
})();
(function(){var k="input info",j="changeAccount",i="Alias name:",h="<b>Save</b>",g="22/buddies_add.png",f="track.buddy.AccountConfigTab",d="16/actions/dialog-ok.png",c="First name:",b="button",a="execute",w="Email:",v="middle",u="Changing account for %1 ...",t="tab title",s="Phone number:",r="AjaxAnimator",q="Last name:",p="Account details",o="right",n="groupbox title",l="left",m="Change Account";
qx.Class.define(f,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(x){qx.core.Object.call(this);
this.buddyWindow=x;
this.trackGui=this.buddyWindow.trackGui;
this.buddyTO=this.buddyWindow.buddyTO;
this.loginName=this.buddyWindow.buddyTO.getLoginName();
},members:{createTab:function(y){this.tabviewPage=new qx.ui.tabview.Page(this.trc(t,m),xbGetIcon(g));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
y.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
this.changeAccountListenerFunc=null;
var z=this._addBuddyGroup();
this.tabviewPage.add(z);
},_addBuddyGroup:function(){var H=new qx.ui.groupbox.GroupBox(this.trc(n,p));
var B=new qx.ui.layout.Grid(6,4);
H.setLayout(B);
B.setRowAlign(0,l,v);
var J=0;
var D=new qx.ui.form.TextField(this.buddyTO.getAlias());
var I=new qx.ui.basic.Label(this.trc(k,i));
H.add(I,{row:J,column:0});
H.add(D,{row:J,column:1});
J++;
var E=new qx.ui.form.TextField(this.buddyTO.getFirstName());
var I=new qx.ui.basic.Label(this.trc(k,c));
H.add(I,{row:J,column:0});
H.add(E,{row:J,column:1});
J++;
var F=new qx.ui.form.TextField(this.buddyTO.getLastName());
var I=new qx.ui.basic.Label(this.trc(k,q));
H.add(I,{row:J,column:0});
H.add(F,{row:J,column:1});
J++;
var C=new qx.ui.form.TextField(this.buddyTO.getEmail());
var I=new qx.ui.basic.Label(this.trc(k,w));
H.add(I,{row:J,column:0});
H.add(C,{row:J,column:1});
J++;
var A=new qx.ui.form.TextField(this.buddyTO.getPhoneNumber());
var I=new qx.ui.basic.Label(this.trc(k,s));
H.add(I,{row:J,column:0});
H.add(A,{row:J,column:1});
J++;
var G=new qx.ui.form.Button(this.trc(b,h),xbGetQxIcon(d));

with(G){setWidth(120);
setAlignX(o);
setRich(true);
}H.add(G,{row:J,column:1});
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(j,function(K){this.trackGui.stopAjaxAnimator();
},this);
G.addListener(a,function(e){if(this.trackGui.watchee==null)return;
this.buddyTO.setAlias(org.xmlBlaster.util.trim(D.getValue()));
this.buddyTO.setFirstName(org.xmlBlaster.util.trim(E.getValue()));
this.buddyTO.setLastName(org.xmlBlaster.util.trim(F.getValue()));
this.buddyTO.setEmail(org.xmlBlaster.util.trim(C.getValue()));
this.buddyTO.setPhoneNumber(org.xmlBlaster.util.trim(A.getValue()));
this.trackGui.startAjaxAnimator(this.trc(r,u,this.loginName));
this.trackGui.sendChangeAccount(this.buddyTO);
},this);
return H;
}},destruct:function(){if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(j,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var i="legend",h="frame",g="middle",f="top",d="resize",c="qx.ui.groupbox.GroupBox",b="groupbox",a="_applyLegendPosition";
qx.Class.define(c,{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(j,k){qx.ui.core.Widget.call(this);
this._setLayout(new qx.ui.layout.Canvas);
this._createChildControl(h);
this._createChildControl(i);
if(j!=null){this.setLegend(j);
}
if(k!=null){this.setIcon(k);
}},properties:{appearance:{refine:true,init:b},legendPosition:{check:[f,g],init:g,apply:a,themeable:true}},members:{_forwardStates:{invalid:true},_createChildControlImpl:function(l,m){var n;

switch(l){case h:n=new qx.ui.container.Composite();
this._add(n,{left:0,top:6,right:0,bottom:0});
break;
case i:n=new qx.ui.basic.Atom();
n.addListener(d,this._repositionFrame,this);
this._add(n);
break;
}return n||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,l);
},_getContentPaddingTarget:function(){return this.getChildControl(h);
},_applyLegendPosition:function(e){if(this.getChildControl(i).getBounds()){this._repositionFrame();
}},_repositionFrame:function(){var p=this.getChildControl(i);
var o=this.getChildControl(h);
var q=p.getBounds().height;
if(this.getLegendPosition()==g){o.setLayoutProperties({"top":Math.round(q/2)});
}else if(this.getLegendPosition()==f){o.setLayoutProperties({"top":q});
}},getChildrenContainer:function(){return this.getChildControl(h);
},setLegend:function(r){var s=this.getChildControl(i);

if(r!==null){s.setLabel(r);
s.show();
}else{s.exclude();
}},getLegend:function(){return this.getChildControl(i).getLabel();
},setIcon:function(t){this.getChildControl(i).setIcon(t);
},getIcon:function(){this.getChildControl(i).getIcon();
}}});
})();
(function(){var m="button",k="execute",j="info box",h="100%",g="16/password_16.png",f="infobox",d="groupbox title",c="PermissionTemplate",b="Permission hist",a="cfg",U="Permissions I have got from '%1'",T="Relation to %1 is destroyed",S="16/actions/dialog-ok.png",R="See history tracks",Q="Show my position",P="Remove buddy %1",O="%1 is not my buddy anymore",N=" - ",M="Send messages to me",L="Permission status",t="Permission gps",u="The new permissions are saved",r="alarm",s="xsms",p="Permission alarm",q="Configure device",n="tab title",o="Permission cfg",v="Granted to '%1'",w="<b>",D="See alarms",B="Buddy Permissions",F="gps",E="track.buddy.PermissionTab",H="Permission xsms",G="click",y="</b>",K="16/actions/edit-delete.png",J="hist",I="status",x="Left click: Remove our relation; Right click: Remove all relations between %1",z="22/apps/utilities-keyring.png",A="My online/battery status",C="Submit";
qx.Class.define(E,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(V){qx.core.Object.call(this);
this.buddyWindow=V;
this.trackGui=this.buddyWindow.trackGui;
this.log=this.trackGui.getLogger();
this.permissionsGrantedConfigVertBox=null;
},members:{createTab:function(W){this.tabviewPage=new qx.ui.tabview.Page(this.trc(n,B),xbGetQxIcon(z));
this.tabviewPage.setLayout(new qx.ui.layout.HBox(8));
W.add(this.tabviewPage);
var X=this.createPermissionsGrantedConfig();
this.tabviewPage.add(X);
var Y=this.createPermissionsGotConfig();
this.tabviewPage.add(Y);
return this.tabviewPage;
},createPermissionsGrantedConfig:function(){var bf=xbGetIcon(g);
var bc=true;
var be=new qx.ui.groupbox.GroupBox(this.trc(d,v,this.buddyWindow.buddyTO.getAliasAndLoginName()),bf);
be.setLayout(new qx.ui.layout.VBox());
be.setEnabled(bc);
be.setSelectable(bc);
var bb=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
this.permissionsGrantedConfigVertBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
bb.add(this.permissionsGrantedConfigVertBox);
be.add(bb);
this.updatePermissionGrantedCheckBoxes();
var bd=new qx.ui.form.Button(this.trc(m,C),xbGetQxIcon(S));
bd.setMarginTop(12);
bd.addListener(k,function(e){var bi=new Array();
var bh=this.permissionsGrantedConfigVertBox.getChildren();

for(var i=0,l=bh.length;i<l;i++){var bg=bh[i];
var bj=bg.getUserData(c);

if(bj!=null){if(bg.getValue()){var bk=new net.watchee.BuddyPermissionTO(bj.getName(),bj.getDescription());
bi.push(bk);
}}}this.buddyWindow.buddyTO.setPermissionsOutbound(bi);
this.trackGui.sendChangePermission(this.buddyWindow.buddyTO);
this.log.debug("Send changed permissions: "+bi);
this.trackGui.infoMsgBox(this.trc(j,u));
},this);
bb.add(bd);

if(!this.buddyWindow.buddyTO.isCurrentLoginAccount()){var ba=new qx.ui.form.Button(this.trc(m,P,this.buddyWindow.buddyTO.getLoginName()),xbGetQxIcon(K));
ba.setMarginTop(12);
ba.setToolTip(this.trc(j,x,this.buddyWindow.buddyTO.getLoginName()));
ba.addListener(k,function(e){this.onRemoveEvent(false);
},this);
ba.addListener(G,function(e){var bm=true;
this.onRemoveEvent(bm);
},this);
bb.add(ba);
}return be;
},onRemoveEvent:function(bn){this.trackGui.sendRemoveBuddy(this.buddyWindow.buddyTO,bn);

if(bn){this.trackGui.infoMsgBox(this.trc(f,T,this.buddyWindow.buddyTO.getLoginName()));
}else{this.trackGui.infoMsgBox(this.trc(f,O,this.buddyWindow.buddyTO.getLoginName()),6000);
}this.trackGui.getBuddiesWidget().removeBuddy(this.buddyWindow.buddyTO.getLoginName());
},createPermissionsGotConfig:function(){var br=xbGetIcon(g);
var bq=false;
var bo=new qx.ui.groupbox.GroupBox(this.trc(d,U,this.buddyWindow.buddyTO.getLoginName()),br);
bo.setLayout(new qx.ui.layout.VBox());
bo.setEnabled(bq);
bo.setSelectable(bq);
this.permissionsGotConfigVertBox=new qx.ui.container.Composite(new qx.ui.layout.VBox(8));
bo.add(this.permissionsGotConfigVertBox,{left:0,top:0,width:h,height:h});

if(this.trackGui.watchee==null)return bo;
this.updatePermissionGotCheckBoxes();
return bo;
},getDescriptionText:function(bs){if(F==bs.getName())return this.trc(t,Q);
else if(r==bs.getName())return this.trc(p,D);
else if(J==bs.getName())return this.trc(b,R);
else if(I==bs.getName())return this.trc(L,A);
else if(a==bs.getName())return this.trc(o,q);
else if(s==bs.getName())return this.trc(H,M);
else return bs.getDescription();
},getPermissionLabelText:function(bt,bu){var bv=bu.getName()+N+this.getDescriptionText(bu);

if(bt)return w+bv+y;
return bv;
},updatePermissionGotCheckBoxes:function(){if(this.permissionsGotConfigVertBox==null)return;
this.permissionsGotConfigVertBox.removeAll();
var bA=this.trackGui.watchee.getBuddyManager().getFriendOf(this.buddyWindow.buddyTO.getLoginName());
var bw=this.trackGui.watchee.getPermissionTemplateList();

if(bw!=null){for(var i=0,l=bw.getPermissionTemplates().length;i<l;i++){var bz=bw.getPermissionTemplates()[i];
var by=(bA!=null&&bA.hasPermission(bz.getName()));
var bx=new qx.ui.form.CheckBox(this.getPermissionLabelText(by,bz));
bx.setRich(true);
bx.setValue(by);
this.permissionsGotConfigVertBox.add(bx);
}}},updatePermissionGrantedCheckBoxes:function(){if(this.permissionsGrantedConfigVertBox==null)return;
this.permissionsGrantedConfigVertBox.removeAll();
var bB=this.trackGui.watchee.getPermissionTemplateList();

if(bB!=null){for(var i=0,l=bB.getPermissionTemplates().length;i<l;i++){var bD=bB.getPermissionTemplates()[i];
var bC=new qx.ui.form.CheckBox(this.getPermissionLabelText(false,bD));
bC.setUserData(c,bD);
bC.setValue(this.buddyWindow.buddyTO.hasPermissionOutbound(bD.getName()));
this.permissionsGrantedConfigVertBox.add(bC);
}}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var u="input info",t="Add New Buddy",s="changeAccount",r="Please enter the buddy login name, the name is case sensitive.",q="16/actions/dialog-ok.png",p="info box",o="<b>Add Buddy</b>",n="(Buddy has empty permissions)",m="Adding buddy %1 ...",l="execute",d="AjaxAnimator",k="22/buddies_add.png",h="right",c="track.buddy.AddBuddyTab",b="groupbox title",g="left",f="middle",i="button",a="tab title",j="Login name of buddy (case sensitive):";
qx.Class.define(c,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(v){qx.core.Object.call(this);
this.buddyWindow=v;
this.trackGui=this.buddyWindow.trackGui;
},members:{createTab:function(w){this.tabviewPage=new qx.ui.tabview.Page(this.trc(a,t),xbGetIcon(k));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
w.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
this.changeAccountListenerFunc=null;
var x=this._addBuddyGroup();
this.tabviewPage.add(x,{left:0,right:0,top:0,bottom:0});
},_addBuddyGroup:function(){var A=new qx.ui.groupbox.GroupBox(this.trc(b,t));
var z=new qx.ui.layout.Grid(6,4);
A.setLayout(z);
z.setRowAlign(0,g,f);
z.setRowHeight(0,22);
z.setRowHeight(1,30);
var B=new qx.ui.form.TextField();
var C=new qx.ui.basic.Label(this.trc(u,j));
C.setRich(true);
A.add(C,{row:0,column:0});
A.add(B,{row:0,column:1});
A.add(new qx.ui.basic.Label(this.trc(u,n)),{row:1,column:0});
var y=new qx.ui.form.Button(this.trc(i,o),xbGetQxIcon(q));

with(y){setWidth(120);
setAlignX(h);
setRich(true);
}A.add(y,{row:1,column:1});
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(s,function(D){},this);
y.addListener(l,function(e){if(this.trackGui.watchee==null)return;
var F=org.xmlBlaster.util.trim(B.getValue());

if(!org.xmlBlaster.util.isFilled(F)){this.trackGui.infoMsgBox(this.trc(p,r));
return;
}this.trackGui.startAjaxAnimator(this.trc(d,m,F));
var E=new net.watchee.BuddyTO(this.trackGui.watchee,F);
this.trackGui.sendAddBuddy(E);
},this);
return A;
}},destruct:function(){if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(s,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="updateBuddy",l="addTrack",k="removeTrack",j="window text",i="window title",h="%1",g="updateFriendOf",f="16/categories/graphics.png",e="Configure the display of your tracks and load history tracks",d="Here you can see tracks of your buddy %1",b="track.trackconf.TrackConfigWindow";
var a=50;
var c=150;
qx.Class.define(b,{extend:track.util.WindowWithHelpIcon,construct:function(n,o){track.util.WindowWithHelpIcon.call(this);
this.buddyTO=o;
this.setCaption(this.trc(i,h,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetQxIcon(f));
this.trackGui=n;
this.log=this.trackGui.getLogger();
this.trackDisplayTab=null;
},members:{__rT:function(){var p=this.buddyTO.getDevice();
this.addTrackEventFunc=p.getEventManager().addListener(l,function(q){var r=q.getData().track;
var s=q.getData().taskNameInfo;

if(s!=null&&s.taskName==org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_GETTRACKS&&s.currTrackIndex<s.countTracks-1)return;
this.log.info("TrackConfigWindow: Received addTrack event for "+r.getTrackName());
this.trackDisplayTab.setTrackNames();
if(r.getNumGpsData()>=0&&this.trackDisplayTab!=null)this.trackDisplayTab.trackDataLoaded(r);
},this);
this.removeTrackEventFunc=p.getEventManager().addListener(k,function(t){var u=t.getData();
this.log.info("TrackConfigWindow: Received removeTrack event for "+u.getTrackName());
this.trackDisplayTab.hideTrack(u);
this.trackDisplayTab.setTrackNames();
this.trackDisplayTab.displayComboCurrent();
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(m,function(v){if(v.getData().buddyTO.getLoginName()==this.buddyTO.getLoginName())this.setCaption(this.trc(i,h,this.buddyTO.getAliasAndLoginName()));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(g,function(w){if(this.buddyTO==null||w==null||w.getData()==null||w.getData().buddyTO==null||this.buddyTO.getLoginName()!=w.getData().buddyTO.getLoginName())return;
this.log.info("TrackConfigWindow: Received 'updateFriendOf' event for "+this.buddyTO.getLoginName());
var x=w.getData().oldBuddyTO;
var z=this.buddyTO.permissionInboundIsSame(net.watchee.BuddyPermissionTO.PERMISSION_GPS,x);
var y=this.buddyTO.permissionInboundIsSame(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY,x);

if(z&&y)return;
this.trackDisplayTab.setTrackNames();

if(!z){if(this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){}else{this.trackDisplayTab.hideCurrentTrack();
}}
if(!y){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(a>200)a=50;
a+=25;
return a;
},getTrackConfigWindowLeft:function(){if(c>350)c=150;
c+=25;
return c;
},createTrackConfigWindow:function(){this.moveTo(this.getTrackConfigWindowLeft(),this.getTrackConfigWindowTop());
var B=(this.buddyTO.isCurrentLoginAccount())?(this.trc(j,e)):(this.trc(j,d,this.buddyTO.getAliasAndLoginName()));
var A=new qx.ui.basic.Label(B);
A.setRich(true);
this.add(A);
this.tabView=new track.util.EnhancedTabView();
var C=true;

if(this.buddyTO.isPublic())C=false;

if(C){this.trackDisplayTab=new track.trackconf.TrackDisplayTab(this.trackGui,this.buddyTO);
this.trackDisplayTab.createTab(this.tabView);
}this.__rT();
this.add(this.tabView);
this.trackGui.getMyRoot().add(this);
this.open();
},makeTrackCurrent:function(D){this.trackDisplayTab.makeTrackCurrent(D);
},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(l,this.addTrackEventFunc);
this.addTrackEventFunc=null;

if(this.removeTrackEventFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(k,this.removeTrackEventFunc);
this.removeTrackEventFunc=null;

if(this.updateBuddyListenerFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(m,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;

if(this.updateFriendOfListenerFunc!=null)this.buddyTO.getDevice().getEventManager().removeListener(g,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
this.trackGui=null;
this.buddyTO=null;
this.log=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var bs="dropdown item",br="execute",bq="Label",bp="16/actions/help-about.png",bo="button",bn="ToolTip",bm="input info",bl="Track Name [%1]",bk="_50_30_25_1.5_70_0000FF_FF0000_jack.png",bj="AjaxAnimator",X="trackName",W="_50_30_25_1.5_70_0000FF_FF0000_12:34.png",V="errorMsgBox",U="16/categories/development.png",T="groupbox title",S="askMsgBox",R="middle",Q="left",P="askMsgBox title",O="iconName",bz="",bA="Showing track failed",bx="label",by="pink-dot.png",bv="changeValue",bw="Color of segment",bt="Blue vector",bu="Time vector",bB="changeSelection",bC="22/actions/document-save.png",bc="dropdown field title",bb="zeppelin90.gif",be="22/actions/dialog-cancel.png",bd="Open Popup",bg="Red dot",bf="Delete",bi="Delete track",bh="yellow-dot.png",ba="Green dot",Y="22/actions/edit-find.png",a="Watchee",b="Green arrow",c="Yellow dot",d="Hide",f="#",g="The settings are stored permanently: %1",h="Zeppelin",k="green-dot.png",m="tab Title",n="Show",bG="dynamic/cb/dot-blue-135.png",bF="infoMsgBox",bE="You have permission to see history tracks",bD="22/places/user-trash.png",bK="Buddy vector",bJ="Track Name [...]",bI="Blue dot",bH="You have <b>no</b> permission to see current location",bM="You have <b>no</b> permission to see history tracks",bL="watchee-point.png",C="Hiding %1",D="red-dot.png",A="Configuration",B="right",G="Tracking Icon",H="track.trackconf.TrackDisplayTab",E="Do you really want to destroy permanently track <br /><b>%1</b> with %2 locations?",F="infoMsgBox title",y="22/actions/system-log-out.png",z="Show Tracks",v="Pink dot",u="Width of segment",x="Save Display Settings",w="Current Position",r="Vector",q="Track Name [NO PERM]",t="Segments to show",s="No track 'changeSelected' for %1",p="Icons to show",o="You have permission to see current location",K="Configuration saved",L="Save track settings for next login session?",M="blue-dot.png",N="Track Display Settings",I="green-arrow.png",J="Drawing %1";
qx.Class.define(H,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bN,bO){qx.core.Object.call(this);
this.trackGui=bN;
this.buddyTO=bO;
var bP=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(bQ){this.tabviewPage=new qx.ui.tabview.Page(this.trc(m,z),xbGetQxIcon(y));
this.tabviewPage.setLayout(new qx.ui.layout.VBox());
bQ.add(this.tabviewPage);
var bR=this.createTrackingMapControl();
this.tabviewPage.add(bR);
var bS=this.createConfigGroup();
this.tabviewPage.add(bS);
return this.tabviewPage;
},setSelectedNoEvent:function(bT,bU){this.programmaticSetSelected=true;
bT.setSelection([bU]);
this.programmaticSetSelected=false;
},addListItemNoEvent:function(bV,bW){this.programmaticSetSelected=true;
bV.add(bW);
this.programmaticSetSelected=false;
},createConfigGroup:function(){var bY=new qx.ui.groupbox.GroupBox(this.trc(T,A),xbGetQxIcon(U));
var bX=new qx.ui.layout.Grid();
bY.setLayout(bX);
var ca=0;
var cb=1;
bX.setSpacingY(4);
bX.setSpacingX(6);
bX.setColumnAlign(0,Q,R);
{this.saveConfigButton=new qx.ui.form.Button(this.trc(bo,x),xbGetQxIcon(bC));
this.saveConfigButton.addListener(br,function(e){var cc=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.askMsgBox(this.trc(P,bz),this.trc(S,L),function(cd,ce){if(cd){this.__rV(ce);
var cf=ce.getDeviceId();
var ch=net.watchee.TrackDisplayInfo.KEY_TRACK_DISPLAY_INFO_PREFIX+cf;
var cg=ce.getTrackDisplayInfoDefault().toCSV();
this.trackGui.sendChangeAccountProperty(cf,ch,cg,function(ci,cj,ck){this.trackGui.infoMsgBox(this.trc(F,K),this.trc(bF,g,ci));
},this);
}},this,cc);
},this);
bY.add(this.saveConfigButton,{row:0,column:0});
this.saveConfigButton.setEnabled(true);
};
return bY;
},createTrackingMapControl:function(){var ct=new qx.ui.groupbox.GroupBox(this.trc(T,N),xbGetQxIcon(U));
var cl=new qx.ui.layout.Grid();
ct.setLayout(cl);
var co=0;
var cp=1;
cl.setSpacingY(4);
cl.setSpacingX(6);
cl.setColumnAlign(0,Q,R);
if(isWatchee){this.__rW(this.trc(bs,a),bL,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,r),bk,net.watchee.IconDisplayInfo.RENDER_ARROW);
this.__rW(this.trc(bs,h),bb,net.watchee.IconDisplayInfo.RENDER_STATIC);
}this.__rW(this.trc(bs,bg),D,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,bI),M,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,v),by,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,ba),k,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,c),bh,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,b),I,net.watchee.IconDisplayInfo.RENDER_STATIC);
this.__rW(this.trc(bs,bK),bk,net.watchee.IconDisplayInfo.RENDER_ARROW);
this.__rW(this.trc(bs,bu),W,net.watchee.IconDisplayInfo.RENDER_ARROW_TIME);
this.__rW(this.trc(bs,bt),bG,net.watchee.IconDisplayInfo.RENDER_STATIC_ARROW);
var cw=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
var cu=cw.getSegmentDisplayInfoDefault();
var cq=cw.getIconDisplayInfoDefault();
var cy=0;
this.comboColorSelectBox=new qx.ui.form.Button(bz);
this.comboColorSelectBox.setDecorator(null);
this.colorPopup=new qx.ui.control.ColorPopup();
this.colorPopup.exclude();
this.colorPopup.setValue(cw.getHexaColor());
this.comboColorSelectBox.addListener(br,function(e){this.colorPopup.placeToWidget(this.comboColorSelectBox);
this.colorPopup.show();
},this);
this.colorPopup.addListener(bv,function(e){var cz=e.getData();
var cA=new Array();
cA.push(this.colorPopup.getRed());
cA.push(this.colorPopup.getGreen());
cA.push(this.colorPopup.getBlue());
var cB=f+qx.util.ColorUtil.rgbToHexString(cA);
this.comboColorSelectBox.setBackgroundColor(cB);
this.comboColorSelectBox.setLabel(cB);
},this);
this.iconSelectBox=new qx.ui.form.SelectBox();
this.log.info("trackHolderCurr.numIconsToShow()="+cw.getNumIconsToShow());
this.numIconsToShowSpinner=new qx.ui.form.Spinner(0,cw.getNumIconsToShow(),cw.getFifoGpsQueueMax());
this.numSegmentsToShowSpinner=new qx.ui.form.Spinner(0,cu.getNumSegmentsToShow(),cw.getFifoGpsQueueMax());
this.segmentWidthSpinner=new qx.ui.form.Spinner(0,cu.getSegmentWidth(),20);
{this.trackNameLabel=new qx.ui.basic.Label(this.trc(bq,bl,cw.getNumGpsData()));
ct.add(this.trackNameLabel,{row:cy,column:co});
this.setTrackNames();
this.displayComboCurrent();
this.trackSelectBox.addListener(bB,function(e){if(this.programmaticSetSelected)return ;
var cD=(e.getData().length==0)?null:e.getData()[0];

if(cD==null)return ;
this.trackNameCurrentlyConfigured=cD.getUserData(X);
var cC=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);

if(cC==null){this.trackGui.errorMsgBox(this.trc(V,s,this.trackNameCurrentlyConfigured));
}this.__rU(cC);
},this);
ct.add(this.trackSelectBox,{row:cy,column:cp});
cy++;
};
{ct.add(new qx.ui.basic.Label(this.trc(bq,G)),{row:cy,column:co});
var cm=this.iconHash.getValues();

for(var i=0,l=cm.length;i<l;i++){var cn=cm[i];
var cv=(cn.renderType==net.watchee.IconDisplayInfo.RENDER_STATIC||cn.renderType==net.watchee.IconDisplayInfo.RENDER_STATIC_ARROW)?net.watchee.STATIC_ICON_URL_PATH:net.watchee.DYNAMIC_ICON_URL_PATH;
var cr=new qx.ui.form.ListItem(cn.label,cv+cn.iconName);
cr.setUserData(O,cn.iconName);
this.iconSelectBox.add(cr);
}var cn=this.__rX(cq);

if(cn!=null){track.util.GuiUtils.selectByUserData(this.iconSelectBox,O,cn.iconName);
}ct.add(this.iconSelectBox,{row:cy,column:cp});
cy++;
};
{var cx=new qx.ui.form.Button(bd);
cx.addListener(br,function(e){this.colorPopup.placeToWidget(cx);
this.colorPopup.show();
});
ct.add(new qx.ui.basic.Label(this.trc(bc,bw)),{row:cy,column:co});
this.comboColorSelectBox.setBackgroundColor(cu.getSegmentColor());
ct.add(this.comboColorSelectBox,{row:cy,column:cp});
cy++;
};
{ct.add(new qx.ui.basic.Label(this.trc(bm,p)),{row:cy,column:co});
ct.add(this.numIconsToShowSpinner,{row:cy,column:cp});
cy++;
};
{ct.add(new qx.ui.basic.Label(this.trc(bm,t)),{row:cy,column:co});
ct.add(this.numSegmentsToShowSpinner,{row:cy,column:cp});
cy++;
};
{ct.add(new qx.ui.basic.Label(this.trc(bm,u)),{row:cy,column:co});
ct.add(this.segmentWidthSpinner,{row:cy,column:cp});
cy++;
};
this.removeButton=null;

if(this.hasRemoveButton){this.removeButton=new qx.ui.form.Button(this.trc(bo,bi),xbGetQxIcon(bD));
this.removeButton.addListener(br,function(e){var cE=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.askMsgBox(this.trc(P,bf),this.trc(S,E,this.trackNameCurrentlyConfigured,cE.getNumGpsData()),function(cF,cG){if(cF){this.removeTrack(cE);
}},this,cE);
},this);
ct.add(this.removeButton,{row:cy,column:co});
this.removeButton.setEnabled(cw.isDisplayedOnMap());
}var cs=new qx.ui.container.Composite(new qx.ui.layout.HBox());
ct.add(cs,{row:cy,column:cp});
{this.hideButton=new qx.ui.form.Button(this.trc(bo,d),xbGetQxIcon(be));
this.hideButton.addListener(br,function(e){try{var cH=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);
this.trackGui.startAjaxAnimator(this.trc(bj,C,cH.getTrackName()),10000);
this.hideTrack(cH);
this.trackGui.stopAjaxAnimator();
}catch(cI){this.trackGui.errorMsgBox(this.trc(V,bA),cI);
}},this);
cs.add(this.hideButton);
this.hideButton.setEnabled(cw.isDisplayedOnMap());
};
{this.showTrackButton=new qx.ui.form.Button(this.trc(bo,n),xbGetQxIcon(Y));
this.showTrackButton.setAlignX(B);
this.showTrackButton.addListener(br,function(e){try{var cJ=this.buddyTO.getDevice().getTrack(this.trackNameCurrentlyConfigured);

if(cJ.fifoGpsQueue.size()>0)this.trackGui.startAjaxAnimator(this.trc(bj,J,cJ.getTrackName()),40000);
this.__rV(cJ);
cJ.drawHistoryLine();
var cK=cJ.getFifoGpsQueue().getArray();

for(var i=0,l=cK.length;i<l;i++){this.trackGui.addPhotoToPhotoGallery(cJ,cK[i]);
}cJ.drawPositionIcons(function(e){this.trackGui.stopAjaxAnimator();
this.hideButton.setEnabled(cJ.isDisplayedOnMap());
},this);
}catch(cL){this.trackGui.errorMsgBox(this.trc(bj,bA),cL);
}},this);
cs.add(this.showTrackButton);
this.updateShowTrackButton(cw);
};
return ct;
},__rU:function(cM){var cS=false;

if(cM.isCurrentTrack()){cS=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);
this.saveConfigButton.setEnabled(true);
}else{cS=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.saveConfigButton.setEnabled(false);
}var cO=cM.getSegmentDisplayInfoDefault();
var cR=cM.getIconDisplayInfoDefault();
this.numIconsToShowSpinner.setMaximum(cM.getFifoGpsQueueMax());
this.numSegmentsToShowSpinner.setMaximum(cM.getFifoGpsQueueMax());
var cQ=false;

if(cS){if(!cM.locationsAreLoaded()&&!cM.isCurrentTrack()){this.trackNameLabel.setValue(this.trc(bq,bJ));
cQ=true;
this.trackGui.getTrackLocations(this.buddyTO.getLoginName(),cM.getTrackName());
}else{this.trackNameLabel.setValue(this.trc(bq,bl,cM.getNumGpsData()));
}}else{this.trackNameLabel.setValue(this.trc(bq,q));
}this.log.info("changeSelected to "+cM.getTrackName());
var cP=this.__rX(cR);

if(cP!=null){track.util.GuiUtils.selectByLabel(this.iconSelectBox,cP.label);
}var cN=cO.getSegmentColor();
this.comboColorSelectBox.setBackgroundColor(cN);
this.colorPopup.setValue(cN);
this.numSegmentsToShowSpinner.setValue(cO.getNumSegmentsToShow());
this.segmentWidthSpinner.setValue(cO.getSegmentWidth());
this.numIconsToShowSpinner.setValue(cM.getNumIconsToShow());

if(this.hideButton!=null){this.hideButton.setEnabled(cM.isDisplayedOnMap());
}
if(this.removeButton!=null){this.removeButton.setEnabled(!cM.isCurrentTrack());
}this.updateShowTrackButton(cM,cQ);
},__rV:function(cT){var cU=cT.getSegmentDisplayInfoDefault();
cU.setNumSegmentsToShow(this.numSegmentsToShowSpinner.getValue());
cU.setSegmentWidth(this.segmentWidthSpinner.getValue());
cT.setNumIconsToShow(this.numIconsToShowSpinner.getValue());
cT.setSegmentColor(this.comboColorSelectBox.getBackgroundColor());
var cW=this.iconSelectBox.getSelection()[0].getLabel();
var cV=this.iconHash.get(this.iconSelectBox.getSelection()[0].getLabel());
cT.setIconNameAndFire(cV.iconName,cV.renderType);
},__rW:function(cX,cY,da){var db={label:cX,iconName:cY,renderType:da};
this.iconHash.put(cX,db);
},__rX:function(dc){var dd=dc.getIconName();
var df=dc.getRenderType();
var dg=this.iconHash.getValues();

for(var i=0,l=dg.length;i<l;i++){var de=dg[i];
if(de.renderType!=df)continue;
if(de.renderType==net.watchee.IconDisplayInfo.RENDER_ARROW_TIME){de.iconName=W;
}else if(de.renderType==net.watchee.IconDisplayInfo.RENDER_ARROW){de.iconName=bk;
}return de;
}return null;
},trackDataLoaded:function(dh){if(dh.getTrackName()==this.trackNameCurrentlyConfigured){if(org.xmlBlaster.util.isDefined(this.trackNameLabel))this.trackNameLabel.setValue(this.trc(bx,bl,dh.getNumGpsData()));
}this.updateShowTrackButton(dh);
},displayComboCurrent:function(){if(org.xmlBlaster.util.isDefined(this.trackSelectBox)){var dj=track.util.GuiUtils.findListItemByModel(this.trackSelectBox,net.watchee.Device.CUR_TRACK_KEY);
if(dj!=null){this.setSelectedNoEvent(this.trackSelectBox,dj);
var di=this.buddyTO.getDevice().getCurrentTrack();
this.trackNameCurrentlyConfigured=di.getTrackName();
this.updateShowTrackButton(di);
return true;
}}return false;
},updateShowTrackButton:function(dk,dl){if(dk==null)return;

if(!org.xmlBlaster.util.isDefined(this.showTrackButton))return;
var dl=org.xmlBlaster.util.toBoolean(dl,false);

if(dl){this.showTrackButton.setEnabled(false);
return;
}
if(dk.isCurrentTrack()){var dm=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);
this.showTrackButton.setEnabled(dm);
var dn=dm?new qx.ui.tooltip.ToolTip(this.trc(bn,o),xbGetQxIcon(bp)):new qx.ui.tooltip.ToolTip(this.trc(bn,bH),xbGetQxIcon(bp));
dn.setRich(true);
dn.setShowTimeout(50);
this.showTrackButton.setToolTip(dn);
}else{var dp=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.showTrackButton.setEnabled(dp);
var dn=dp?new qx.ui.tooltip.ToolTip(this.trc(bn,bE),xbGetQxIcon(bp)):new qx.ui.tooltip.ToolTip(this.trc(bn,bM),xbGetQxIcon(bp));
dn.setRich(true);
dn.setShowTimeout(50);
this.showTrackButton.setToolTip(dn);
}},hideAllHistoryTracks:function(){var dq=this.buddyTO.getDevice().getTracks();

for(var i in dq){this.hideTrack(dq[i]);
}},hideCurrentTrack:function(){this.hideTrack(this.buddyTO.getDevice().getCurrentTrack());
},hideTrack:function(dr){if(dr==null)return;
dr.clearMappingData(false);
this.hideButton.setEnabled(dr.isDisplayedOnMap());
var ds=dr.getFifoGpsQueue().getArray();

for(var i=0,l=ds.length;i<l;i++){this.trackGui.removePhotoFromPhotoGallery(ds[i]);
}},removeTrack:function(dt){if(dt==null)return;
dt.getDevice().removeTrack(dt.getTrackName());
this.trackGui.sendRemoveTrack(this.buddyTO.getLoginName(),dt.getTrackName());
},makeTrackCurrent:function(du){if(!org.xmlBlaster.util.isDefined(this.trackSelectBox))return;

if(!org.xmlBlaster.util.isFilled(du))du=net.watchee.Device.CUR_TRACK_KEY;
var dv=track.util.GuiUtils.findListItemByModel(this.trackSelectBox,du);
if(dv!=null){this.trackSelectBox.setSelection([dv]);
}},setTrackNames:function(){var dD=this.buddyTO.getDevice().getTracks();
var dw=null;

if(this.trackSelectBox){var dx=this.trackSelectBox.getSelection()[0];
dw=dx.getUserData(X);
this.trackSelectBox.removeAll();
}else{this.trackSelectBox=new qx.ui.form.SelectBox();
}var dA=null;

for(var i=0;i<dD.length;i++){var j=0;

if(i>0)j=dD.length-i;
var dB=dD[j];
var dy=dB.getTrackName();

if(dy==net.watchee.Device.CUR_TRACK_KEY)dy=this.trc(bx,w);
var dE=null;
var dC=dB.getTrackName();
var dz=new qx.ui.form.ListItem(dy,dE,dC);

if(dw==dB.getTrackName())dA=dz;
dz.setUserData(X,dB.getTrackName());
this.addListItemNoEvent(this.trackSelectBox,dz);
}
if(dA!=null)this.setSelectedNoEvent(this.trackSelectBox,dA);
}},destruct:function(){this.trackNameCurrentlyConfigured=null;
this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var b="qx.ui.form.IColorForm",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 m="current-preview",l="execute",k="selected-preview",h="Number",g="preview-pane",f="selector-button",d="colorselector-cancelbutton",c="auto-button",b="colorselector-okbutton",a="mousedown",X="teal",W="maroon",V="qx.ui.control.ColorPopup",U="#666",T="changeValue",S="#333",R="#000",Q="yellow",P="__sb",O="changeGreen",t="colorpopup",u="_applyValue",r="blue",s="changeRed",p="field#",q="#CCC",n="Color Selector",o="changeVisibility",v="recent",w="changeBlue",D="mouseover",B="Cancel",H="#FFF",F="right",K="Open ColorSelector",J="mouseout",y="#999",N="Automatic",M="Basic Colors",L="Preview (Old/New)",x="visible",z="__sc",A="Recent Colors",C="OK",E="field",G="green",I="red";
qx.Class.define(V,{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(c);
this._createBoxes();
this._createChildControl(g);
this._createChildControl(f);
this.addListener(o,this._onChangeVisibility,this);
},properties:{appearance:{refine:true,init:t},value:{nullable:true,apply:u,event:T},red:{check:h,init:null,nullable:true,event:s},green:{check:h,init:null,nullable:true,event:O},blue:{check:h,init:null,nullable:true,event:w}},members:{__rY:1e5,__sa:null,__sb:null,__sc:null,__sd:v,__se:12,_createChildControlImpl:function(Y,ba){var bb;

switch(Y){case E:bb=new qx.ui.core.Widget;
bb.addListener(a,this._onFieldMouseDown,this);
bb.addListener(D,this._onFieldMouseOver,this);
bb.addListener(J,this._onFieldMouseOut,this);
break;
case c:bb=new qx.ui.form.Button(this.tr(N));
bb.setAllowStretchX(true);
bb.addListener(l,this._onAutomaticBtnExecute,this);
this.add(bb);
break;
case f:bb=new qx.ui.form.Button(this.tr(K));
bb.addListener(l,this._onSelectorButtonExecute,this);
this.add(bb);
break;
case g:bb=new qx.ui.groupbox.GroupBox(this.tr(L));
bb.setLayout(new qx.ui.layout.HBox);
bb.add(this._createChildControl(k,true),{flex:1});
bb.add(this._createChildControl(m,true),{flex:1});
this.add(bb);
break;
case k:bb=new qx.ui.container.Composite(new qx.ui.layout.Basic);
break;
case m:bb=new qx.ui.container.Composite(new qx.ui.layout.Basic);
break;
case b:bb=new qx.ui.form.Button(this.tr(C));
bb.addListener(l,this._onColorSelectorOk,this);
break;
case d:bb=new qx.ui.form.Button(this.tr(B));
bb.addListener(l,this._onColorSelectorCancel,this);
break;
}return bb||qx.ui.popup.Popup.prototype._createChildControlImpl.call(this,Y);
},_createBoxes:function(){this.__sa={};
var bd=this._tables;
var bg,bc,be;
var j=0;

for(var bf in bd){bg=bd[bf];
bc=new qx.ui.groupbox.GroupBox(bg.label);
bc.setLayout(new qx.ui.layout.HBox);
this.__sa[bf]=bc;
this.add(bc);

for(var i=0;i<this.__se;i++){be=this.getChildControl(p+(j++));
be.setBackgroundColor(bg.values[i]||null);
bc.add(be);
}}},_createColorSelector:function(){if(this.__sc){return;
}var bh=new qx.ui.window.Window(this.tr(n));
this.__sb=bh;
bh.setLayout(new qx.ui.layout.VBox(16));
bh.setResizable(false);
bh.moveTo(20,20);
this.__sc=new qx.ui.control.ColorSelector;
bh.add(this.__sc);
var bi=new qx.ui.container.Composite(new qx.ui.layout.HBox(8,F));
bh.add(bi);
var bk=this._createChildControl(d);
var bj=this._createChildControl(b);
bi.add(bk);
bi.add(bj);
},_applyValue:function(bl,bm){if(bl===null){this.setRed(null);
this.setGreen(null);
this.setBlue(null);
}else{var bn=qx.util.ColorUtil.stringToRgb(bl);
this.setRed(bn[0]);
this.setGreen(bn[1]);
this.setBlue(bn[2]);
}this.getChildControl(k).setBackgroundColor(bl);
this._rotatePreviousColors();
},_rotatePreviousColors:function(){if(!this._tables){return;
}var bq=this._tables[this.__sd].values;
var br=this.__sa[this.__sd];

if(!bq){return;
}var bs=this.getValue();

if(!bs){return;
}var bp=bq.indexOf(bs);

if(bp!=-1){qx.lang.Array.removeAt(bq,bp);
}else if(bq.length==this.__se){bq.shift();
}bq.push(bs);
var bo=br.getChildren();

for(var i=0;i<bo.length;i++){bo[i].setBackgroundColor(bq[i]||null);
}},_onFieldMouseDown:function(e){var bt=this.getChildControl(m).getBackgroundColor();
this.setValue(bt);

if(bt){this.hide();
}},_onFieldMouseOver:function(e){this.getChildControl(m).setBackgroundColor(e.getTarget().getBackgroundColor());
},_onFieldMouseOut:function(e){var bx=this.getRed();
var bw=this.getGreen();
var bu=this.getBlue();
var bv=null;

if(bx!==null||bw!==null||bu!==null){var bv=qx.util.ColorUtil.rgbToRgbString([bx,bw,bu]);
}this.getChildControl(m).setBackgroundColor(bv);
},_onAutomaticBtnExecute:function(){this.setValue(null);
this.hide();
},_onSelectorButtonExecute:function(){this._createColorSelector();
this.exclude();
var bA=this.getRed();
var bz=this.getGreen();
var by=this.getBlue();

if(bA===null||bz===null||by===null){bA=255;
bz=255;
by=255;
}this.__sc.setRed(bA);
this.__sc.setGreen(bz);
this.__sc.setBlue(by);
this.__sb.open();
},_onColorSelectorOk:function(){var bB=this.__sc;
this.setValue(qx.util.ColorUtil.rgbToRgbString([bB.getRed(),bB.getGreen(),bB.getBlue()]));
this.__sb.close();
},_onColorSelectorCancel:function(){this.__sb.close();
},_onChangeVisibility:function(e){if(this.getVisibility()==x){var bF=this.getRed();
var bE=this.getGreen();
var bC=this.getBlue();
var bD=null;

if(bF!==null||bE!==null||bC!==null){var bD=qx.util.ColorUtil.rgbToRgbString([bF,bE,bC]);
}this.getChildControl(k).setBackgroundColor(bD);
this.getChildControl(m).setBackgroundColor(bD);
}},_tables:{core:{label:M,values:[R,S,U,y,q,H,I,G,r,Q,X,W]},recent:{label:A,values:[]}}},destruct:function(){this._disposeObjects(P,z);
this._tables=this.__sa=null;
}});
})();
(function(){var a="qx.ui.layout.Basic";
qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(b,c){var g=this._getLayoutChildren();
var d,f,e,h,top;
for(var i=0,l=g.length;i<l;i++){d=g[i];
f=d.getSizeHint();
e=d.getLayoutProperties();
h=(e.left||0)+d.getMarginLeft();
top=(e.top||0)+d.getMarginTop();
d.renderLayout(h,top,f.width,f.height);
}},_computeSizeHint:function(){var p=this._getLayoutChildren();
var m,r,n;
var q=0,o=0;
var j,k;
for(var i=0,l=p.length;i<l;i++){m=p[i];
r=m.getSizeHint();
n=m.getLayoutProperties();
j=r.width+(n.left||0)+m.getMarginLeft()+m.getMarginRight();
k=r.height+(n.top||0)+m.getMarginTop()+m.getMarginBottom();

if(j>q){q=j;
}
if(k>o){o=k;
}}return {width:q,height:o};
}}});
})();
(function(){var bw="brightness-handle",bv="hue-saturation-handle",bu="hsbSpinner",bt="rgbSpinner",bs="changeValue",br="hexField",bq="hueSaturationField",bp="brightness-field",bo="mousedown",bn="rgb-spinner-red",bc="preview-content-old",bb="rgb-spinner-green",ba="brightnessField",Y="hue-saturation-field",X="hsb-spinner-brightness",W="preview-content-new",V="hue-saturation-pane",U="rgb-spinner-blue",T="hsb-spinner-hue",S="hsb-spinner-saturation",bD="hex-field",bE="brightnessModifier",bB="blueModifier",bC="saturationModifier",bz="middle",bA="Number",bx="#",by="redModifier",bF="greenModifier",bG="hueModifier",bg="Integer",bf="brightness-pane",bi="control-pane",bh="preset-grid",bk="mouseup",bj="preset-field-set",bm="qx.event.type.Event",bl="mousemove",be="hex-field-composite",bd="rgb-spinner-composite",a="hsb-spinner-composite",b="control-bar",c="mousewheel",d="visual-pane",f="input-field-set",g="preview-field-set",h="black",k="_applyGreen",l="#333",m="aqua",bK="colorbucket",bJ="qx.event.type.Data",bI="Hex",bH="#BBB",bO="decoration/colorselector/brightness-handle.gif",bN="Visual",bM="_applySaturation",bL="Preview (Old/New)",bQ="FFFFFF",bP="decoration/colorselector/brightness-field.png",C="white",D="orange",A="_applyRed",B="_applyBlue",G="maroon",H="Presets",E="_applyBrightness",F="#999",y="purple",z="red",u="blue",t="_applyHue",w="decoration/colorselector/huesaturation-handle.gif",v="colorselector",q="qx.ui.control.ColorSelector",p="lime",s="#EEE",r="olive",o="RGB",n="decoration/colorselector/huesaturation-field.jpg",M="navy",N="teal",O="green",P="yellow",I="#666",J="fuchsia",K="Details",L="",Q="colorbucket#",R="appear",x="HSB";
qx.Class.define(q,{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(b);
this.addListener(R,this._onAppear,this);
},events:{"dialogok":bm,"dialogcancel":bm,"changeValue":bJ},properties:{appearance:{refine:true,init:v},red:{check:bg,init:255,apply:A},green:{check:bg,init:255,apply:k},blue:{check:bg,init:255,apply:B},hue:{check:bA,init:0,apply:t},saturation:{check:bA,init:0,apply:bM},brightness:{check:bA,init:100,apply:E}},members:{__sf:null,__sg:[G,z,D,P,r,y,J,p,O,M,u,m,N,h,l,I,F,bH,s,C],__sh:L,__si:0,__sj:0,__sk:0,__sl:true,__sm:false,_createChildControlImpl:function(bR,bS){var bT;

switch(bR){case b:bT=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
bT.add(this.getChildControl(bi));
bT.add(this.getChildControl(d));
this._add(bT);
break;
case d:bT=new qx.ui.groupbox.GroupBox(this.tr(bN));
bT.setLayout(new qx.ui.layout.HBox(10));
bT.add(this.getChildControl(V));
bT.add(this.getChildControl(bf));
break;
case bi:bT=new qx.ui.container.Composite(new qx.ui.layout.VBox(12));
bT.add(this.getChildControl(bj));
bT.add(this.getChildControl(f));
bT.add(this.getChildControl(g),{flex:1});
break;
case V:bT=new qx.ui.container.Composite(new qx.ui.layout.Canvas());
bT.setAllowGrowY(false);
bT.addListener(c,this._onHueSaturationPaneMouseWheel,this);
bT.add(this.getChildControl(Y));
bT.add(this.getChildControl(bv),{left:0,top:256});
break;
case Y:bT=new qx.ui.basic.Image(n);
bT.addListener(bo,this._onHueSaturationFieldMouseDown,this);
break;
case bv:bT=new qx.ui.basic.Image(w);
bT.addListener(bo,this._onHueSaturationFieldMouseDown,this);
bT.addListener(bk,this._onHueSaturationHandleMouseUp,this);
bT.addListener(bl,this._onHueSaturationHandleMouseMove,this);
break;
case bf:bT=new qx.ui.container.Composite(new qx.ui.layout.Canvas());
bT.setAllowGrowY(false);
bT.addListener(c,this._onBrightnessPaneMouseWheel,this);
bT.add(this.getChildControl(bp));
bT.add(this.getChildControl(bw));
break;
case bp:bT=new qx.ui.basic.Image(bP);
bT.addListener(bo,this._onBrightnessFieldMouseDown,this);
break;
case bw:bT=new qx.ui.basic.Image(bO);
bT.addListener(bo,this._onBrightnessHandleMouseDown,this);
bT.addListener(bk,this._onBrightnessHandleMouseUp,this);
bT.addListener(bl,this._onBrightnessHandleMouseMove,this);
break;
case bj:bT=new qx.ui.groupbox.GroupBox(this.tr(H));
bT.setLayout(new qx.ui.layout.Grow());
bT.add(this.getChildControl(bh));
break;
case bK:bT=new qx.ui.core.Widget();
bT.addListener(bo,this._onColorFieldClick,this);
break;
case bh:bY=new qx.ui.layout.Grid(3,3);
bT=new qx.ui.container.Composite(bY);
var ca;
var bX;

for(var i=0;i<2;i++){for(var j=0;j<10;j++){bX=i*10+j;
ca=this.getChildControl(Q+bX);
ca.setBackgroundColor(this.__sg[bX]);
bT.add(ca,{column:j,row:i});
}}break;
case f:bT=new qx.ui.groupbox.GroupBox(this.tr(K));
var bY=new qx.ui.layout.VBox();
bY.setSpacing(10);
bT.setLayout(bY);
bT.add(this.getChildControl(be));
bT.add(this.getChildControl(bd));
bT.add(this.getChildControl(a));
break;
case g:bT=new qx.ui.groupbox.GroupBox(this.tr(bL));
var bY=new qx.ui.layout.HBox(10);
bT.setLayout(bY);
bT.add(this.getChildControl(bc),{flex:1});
bT.add(this.getChildControl(W),{flex:1});
break;
case be:var bW=new qx.ui.layout.HBox(4);
bW.setAlignY(bz);
bT=new qx.ui.container.Composite(bW);
var cc=new qx.ui.basic.Label(this.tr(bI));
bT.add(cc);
var cb=new qx.ui.basic.Label(bx);
bT.add(cb);
bT.add(this.getChildControl(bD));
break;
case bD:bT=new qx.ui.form.TextField(bQ);
bT.setMaxLength(6);
bT.setFilter(/[0-9A-Fa-f]/);
bT.setWidth(55);
bT.addListener(bs,this._onHexFieldChange,this);
break;
case bd:var bW=new qx.ui.layout.HBox(4);
bW.setAlignY(bz);
bT=new qx.ui.container.Composite(bW);
var bU=new qx.ui.basic.Label(this.tr(o));
bU.setWidth(25);
bT.add(bU);
bT.add(this.getChildControl(bn));
bT.add(this.getChildControl(bb));
bT.add(this.getChildControl(U));
break;
case bn:bT=new qx.ui.form.Spinner(0,255,255);
bT.setWidth(50);
bT.addListener(bs,this._setRedFromSpinner,this);
break;
case bb:bT=new qx.ui.form.Spinner(0,255,255);
bT.setWidth(50);
bT.addListener(bs,this._setGreenFromSpinner,this);
break;
case U:bT=new qx.ui.form.Spinner(0,255,255);
bT.setWidth(50);
bT.addListener(bs,this._setBlueFromSpinner,this);
break;
case a:var bW=new qx.ui.layout.HBox(4);
bW.setAlignY(bz);
bT=new qx.ui.container.Composite(bW);
var bV=new qx.ui.basic.Label(this.tr(x));
bV.setWidth(25);
bT.add(bV);
bT.add(this.getChildControl(T));
bT.add(this.getChildControl(S));
bT.add(this.getChildControl(X));
break;
case T:bT=new qx.ui.form.Spinner(0,0,360);
bT.setWidth(50);
bT.addListener(bs,this._setHueFromSpinner,this);
break;
case S:bT=new qx.ui.form.Spinner(0,0,100);
bT.setWidth(50);
bT.addListener(bs,this._setSaturationFromSpinner,this);
break;
case X:bT=new qx.ui.form.Spinner(0,100,100);
bT.setWidth(50);
bT.addListener(bs,this._setBrightnessFromSpinner,this);
break;
case bc:bT=new qx.ui.core.Widget();
break;
case W:bT=new qx.ui.core.Widget();
break;
}return bT||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bR);
},setValue:function(cd){var ce;

if(cd==null){this.__sl=true;
ce=[255,255,255];
}else{ce=qx.util.ColorUtil.stringToRgb(cd);
this.__sl=false;
}this.__sm=true;
this.setRed(ce[0]);
this.setGreen(ce[1]);
this.__sm=false;
this.setBlue(ce[2]);
},getValue:function(){return this.__sl?null:bx+qx.util.ColorUtil.rgbToHexString([this.getRed(),this.getGreen(),this.getBlue()]);
},resetValue:function(){this.__sl=true;
this.__sm=true;
this.setRed(255);
this.setGreen(255);
this.__sm=false;
this.setBlue(255);
},__sn:function(){if(!this.__sm){this.__sl=false;
this.fireDataEvent(bs,this.getValue());
}},_applyRed:function(cf,cg){if(this.__sf===null){this.__sf=by;
}
if(this.__sf!==bt){this.getChildControl(bn).setValue(cf);
}
if(this.__sf!==br){this._setHexFromRgb();
}
switch(this.__sf){case bt:case br:case by:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__sn();

if(this.__sf===by){this.__sf=null;
}},_applyGreen:function(ch,ci){if(this.__sf===null){this.__sf=bF;
}
if(this.__sf!==bt){this.getChildControl(bb).setValue(ch);
}
if(this.__sf!==br){this._setHexFromRgb();
}
switch(this.__sf){case bt:case br:case bF:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__sn();

if(this.__sf===bF){this.__sf=null;
}},_applyBlue:function(cj,ck){if(this.__sf===null){this.__sf=bB;
}
if(this.__sf!==bt){this.getChildControl(U).setValue(cj);
}
if(this.__sf!==br){this._setHexFromRgb();
}
switch(this.__sf){case bt:case br:case bB:this._setHueFromRgb();
}this._setPreviewFromRgb();
this.__sn();

if(this.__sf===bB){this.__sf=null;
}},_applyHue:function(cl,cm){if(this.__sf===null){this.__sf=bG;
}
if(this.__sf!==bu){this.getChildControl(T).setValue(cl);
}
if(this.__sf!==bq){if(this.getChildControl(bv).getBounds()){this.getChildControl(bv).setDomLeft(Math.round(cl/1.40625)+this.getChildControl(V).getPaddingLeft());
}else{this.getChildControl(bv).setLayoutProperties({left:Math.round(cl/1.40625)});
}}
switch(this.__sf){case bu:case bq:case bG:this._setRgbFromHue();
}this._setBrightnessGradiant();

if(this.__sf===bG){this.__sf=null;
}},_applySaturation:function(cn,co){if(this.__sf===null){this.__sf=bC;
}
if(this.__sf!==bu){this.getChildControl(S).setValue(cn);
}
if(this.__sf!==bq){this._setBrightnessGradiant();

if(this.getChildControl(bv).getBounds()){this.getChildControl(bv).setDomTop(256-Math.round(cn*2.56)+this.getChildControl(V).getPaddingTop());
}else{this.getChildControl(bv).setLayoutProperties({top:256-Math.round(cn*2.56)});
}}
switch(this.__sf){case bu:case bq:case bC:this._setRgbFromHue();
}
if(this.__sf===bC){this.__sf=null;
}},_applyBrightness:function(cp,cq){if(this.__sf===null){this.__sf=bE;
}
if(this.__sf!==bu){this.getChildControl(X).setValue(cp);
}
if(this.__sf!==ba){var cr=256-Math.round(cp*2.56);

if(this.getChildControl(bw).getBounds()){this.getChildControl(bw).setDomTop(cr+this.getChildControl(bf).getPaddingTop());
}else{this.getChildControl(bw).setLayoutProperties({top:cr});
}}
switch(this.__sf){case bu:case ba:case bE:this._setRgbFromHue();
}
if(this.__sf===bE){this.__sf=null;
}},_onBrightnessHandleMouseDown:function(e){this.getChildControl(bw).capture();
this.__sh=bw;
var cu=this.getChildControl(bp).getContainerLocation();
var ct=this.getChildControl(bw).getContainerLocation();
var cs=this.getChildControl(bp).getBounds();
this.__si=cu.top+(e.getDocumentTop()-ct.top)-cs.top;
e.stopPropagation();
},_onBrightnessHandleMouseUp:function(e){this.getChildControl(bw).releaseCapture();
this.__sh=null;
},_onBrightnessHandleMouseMove:function(e){if(this.__sh===bw){this._setBrightnessOnFieldEvent(e);
e.stopPropagation();
}},_onBrightnessFieldMouseDown:function(e){var location=this.getChildControl(bp).getContainerLocation();
var cv=this.getChildControl(bw).getBounds();
this.__si=location.top+(cv.height/2);
this._setBrightnessOnFieldEvent(e);
this.getChildControl(bw).capture();
this.__sh=bw;
},_onBrightnessPaneMouseWheel:function(e){this.setBrightness(qx.lang.Number.limit(this.getBrightness()+e.getWheelDelta(),0,100));
e.stop();
},_setBrightnessOnFieldEvent:function(e){var cw=qx.lang.Number.limit(e.getDocumentTop()-this.__si,0,256);
this.__sf=ba;

if(this.getChildControl(bw).getBounds()){this.getChildControl(bw).setDomTop(cw);
}else{this.getChildControl(bw).setLayoutProperties({top:cw});
}this.setBrightness(100-Math.round(cw/2.56));
this.__sf=null;
},_onHueSaturationHandleMouseUp:function(e){if(this.__sh){e.stopPropagation();
this.getChildControl(bv).releaseCapture();
this.__sh=null;
}},_onHueSaturationHandleMouseMove:function(e){if(this.__sh===bv){this._setHueSaturationOnFieldEvent(e);
e.stopPropagation();
}},_onHueSaturationFieldMouseDown:function(e){var location=this.getChildControl(Y).getContainerLocation();
var cx=this.getChildControl(bv).getBounds();
var cy=this.getChildControl(Y).getBounds();
this.__sj=location.top+(cx.height/2)-cy.top;
this.__sk=location.left+(cx.width/2)-cy.left;
this._setHueSaturationOnFieldEvent(e);
this.getChildControl(bv).capture();
this.__sh=bv;
},_onHueSaturationPaneMouseWheel:function(e){this.setSaturation(qx.lang.Number.limit(this.getSaturation()+e.getWheelDelta(),0,100));
e.stop();
},_setHueSaturationOnFieldEvent:function(e){var cA=qx.lang.Number.limit(e.getDocumentTop()-this.__sj,0,256);
var cz=qx.lang.Number.limit(e.getDocumentLeft()-this.__sk,0,256);
this.getChildControl(bv).setDomPosition(cz,cA);
this.__sf=bq;
this.setSaturation(100-Math.round(cA/2.56));
this.setHue(Math.round(cz*1.40625));
this.__sf=null;
},_setRedFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bt;
this.setRed(this.getChildControl(bn).getValue());
this.__sf=null;
},_setGreenFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bt;
this.setGreen(this.getChildControl(bb).getValue());
this.__sf=null;
},_setBlueFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bt;
this.setBlue(this.getChildControl(U).getValue());
this.__sf=null;
},_setHueFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bu;
this.setHue(this.getChildControl(T).getValue());
this.__sf=null;
},_setSaturationFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bu;
this.setSaturation(this.getChildControl(S).getValue());
this.__sf=null;
},_setBrightnessFromSpinner:function(){if(this.__sf!==null){return;
}this.__sf=bu;
this.setBrightness(this.getChildControl(X).getValue());
this.__sf=null;
},_onHexFieldChange:function(e){if(this.__sf!==null){return;
}
try{var cC=this.getChildControl(bD);
var cB=qx.util.ColorUtil.hexStringToRgb(bx+cC.getValue());
}catch(cD){return;
}this.__sf=br;
this.setRed(cB[0]);
this.setGreen(cB[1]);
this.setBlue(cB[2]);
this.__sf=null;
},_setHexFromRgb:function(){var cE=qx.util.ColorUtil.rgbToHexString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(bD).setValue(cE);
},_onColorFieldClick:function(e){var cF=e.getTarget().getBackgroundColor();

if(!cF){return this.error("Missing backgroundColor value for field: "+e.getTarget());
}var cG=qx.util.ColorUtil.stringToRgb(cF);
this.setRed(cG[0]);
this.setGreen(cG[1]);
this.setBlue(cG[2]);
},_setHueFromRgb:function(){switch(this.__sf){case bu:case bq:case ba:break;
default:var cH=qx.util.ColorUtil.rgbToHsb([this.getRed(),this.getGreen(),this.getBlue()]);
this.setHue(cH[0]);
this.setSaturation(cH[1]);
this.setBrightness(cH[2]);
}},_setRgbFromHue:function(){switch(this.__sf){case bt:case br:break;
default:var cI=qx.util.ColorUtil.hsbToRgb([this.getHue(),this.getSaturation(),this.getBrightness()]);
this.setRed(cI[0]);
this.setGreen(cI[1]);
this.setBlue(cI[2]);
}},_setPreviewFromRgb:function(){var cJ=qx.util.ColorUtil.rgbToRgbString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(W).setBackgroundColor(cJ);
},setPreviousColor:function(cK,cL,cM){var cN=qx.util.ColorUtil.rgbToRgbString([cK,cL,cM]);
this.getChildControl(bc).setBackgroundColor(cN);
this.setRed(cK);
this.setGreen(cL);
this.setBlue(cM);
},_setBrightnessGradiant:function(){var cO=qx.util.ColorUtil;
var cP=cO.hsbToRgb([this.getHue(),this.getSaturation(),255]);
var cQ=cO.rgbToRgbString(cP);
this.getChildControl(bp).setBackgroundColor(cQ);
},_onAppear:function(e){var cR=qx.util.ColorUtil.rgbToRgbString([this.getRed(),this.getGreen(),this.getBlue()]);
this.getChildControl(bc).setBackgroundColor(cR);
this.getChildControl(W).setBackgroundColor(cR);
}}});
})();
(function(){var a="track.util.GuiUtils";
qx.Class.define(a,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);
},statics:{getSelectedUserData:function(b,c,d){if(d===undefined)d=null;

if(b===undefined)return d;

if(c===undefined)return d;
var e=b.getSelection()[0];

if(e==null)return d;
return e.getUserData(c);
},findListItemByUserData:function(f,g,h){if(h===undefined)h=null;

if(f===undefined)return null;

if(g===undefined)return null;
var k=f.getChildren();

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

if(j==null)continue;
if(h!=null&&h!=j){continue;
}return m;
}return null;
},findListItemByModel:function(n,o){if(o===undefined)o=null;

if(n===undefined)return null;
var q=n.getChildren();

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

if(p==null)continue;

if(o==p){return r;
}}return null;
},findListItemByLabel:function(s,t,u){var u=org.xmlBlaster.util.toBoolean(u,false);

if(t===undefined)t=null;

if(s===undefined)return null;
var v=s.getChildren();

for(var i=0,l=v.length;i<l;i++){var x=v[i];
var w=x.getLabel();

if(w==null)continue;

if(u){if(w.indexOf(t)==0){return x;
}}else{if(t==w){return x;
}}}return null;
},selectByUserData:function(y,z,A){var B=track.util.GuiUtils.findListItemByUserData(y,z,A);

if(B!=null)y.setSelection([B]);
return B;
},selectByModel:function(C,D){var E=track.util.GuiUtils.findListItemByModel(C,D);

if(E!=null)C.setSelection([E]);
return E;
},selectByLabel:function(F,G){var H=track.util.GuiUtils.findListItemByLabel(F,G);

if(H!=null)F.setSelection([H]);
return H;
},dummy:function(){}},members:{},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var t="info box",s="remotePropertiesChanged",r="window text",q="Device %1 is off-line",p="showPropertiesTab",o="showTrackingRate",n="",m="Device %1 is off-line or you have no permissions",l="Configure remotely the device of your buddy %1",k="Remote configure device of %1",d="Configure remotely your device (mobile phone or PDA)",j="updateFriendOf",g="Device %1 is off-line, getting last known configuration",b="showSleepingMode",a="window title",f="16/pda_blue.png",e="showSmsTab",h="track.deviceconf.DeviceWindow";
var i=100;
var c=250;
qx.Class.define(h,{extend:track.util.WindowWithHelpIcon,construct:function(u,v){track.util.WindowWithHelpIcon.call(this);
this.setLayout(new qx.ui.layout.VBox(2));
this.buddyTO=v;
this.setCaption(this.trc(a,k,this.buddyTO.getAliasAndLoginName()));
this.setIcon(xbGetIcon(f));
this.trackGui=u;
this.log=this.trackGui.getLogger();
this.trackRateTab=null;
this.sleepingModeTab=null;
this.viewPropertiesTab=null;
this.miscSettingsTab=null;
this.smsTab=null;
this.remotePropertiesChangedListenerFunc=null;
this.setShowStatusbar(true);
this.setResizable(true);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(j,function(w){if(this.buddyTO.getLoginName()!=w.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(i>200)i=100;
i+=25;
return i;
},getDeviceWindowLeft:function(){if(c>350)c=250;
c+=25;
return c;
},createDeviceWindow:function(){var A=(this.buddyTO.isCurrentLoginAccount())?this.trc(r,d):this.trc(r,l,this.buddyTO.getAliasAndLoginName());
var z=new qx.ui.basic.Label(A);
z.setRich(true);
this.add(z);
var C=new track.util.EnhancedTabView();
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.PowerSaveModeTab(this,this.buddyTO);
this.sleepingModeTab.createTab(C);
}var B=xbProperties.getBoolean(p,true);

if(B){this.miscSettingsTab=new track.deviceconf.MiscSettingsTab(this,this.buddyTO);
this.miscSettingsTab.createTab(C,false);
this.viewPropertiesTab=new track.deviceconf.ViewPropertiesTab(this,this.buddyTO);
this.viewPropertiesTab.createTab(C,false);
}var D=xbProperties.getBoolean(e,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,{flex:1});
this.trackGui.getMyRoot().add(this,{left:this.getDeviceWindowLeft(),top:this.getDeviceWindowTop()});
this.open();
this.remotePropertiesChangedListenerFunc=this.buddyTO.getDevice().getEventManager().addListener(s,function(E){var F=E.getData().propertyCollection;
this._onRemoteProperiesChanged(F);
},this);
this.loadRemoteProperties();
},_onRemoteProperiesChanged:function(G){if(this.sleepingModeTab!=null){this.sleepingModeTab.onRemoteProperiesChanged(G);
}
if(this.trackRateTab!=null){this.trackRateTab.onRemoteProperiesChanged(G);
}
if(this.miscSettingsTab!=null){this.miscSettingsTab.onRemoteProperiesChanged(G);
}
if(this.viewPropertiesTab!=null){this.viewPropertiesTab.onRemoteProperiesChanged(G);
}},loadRemoteProperties:function(){var H=this.buddyTO.getDeviceInfo().hasOfflineProxyConfiguration();
this._loadPropertyCollection(H);
},_loadPropertyCollection:function(I){this.setStatus(n);
var K=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);

if(!K){this.setStatus(this.trc(t,m,this.buddyTO.getLoginName()),3000);
return;
}var J=this.buddyTO.isOnline();

if(I){this.trackGui.sendGetDeviceConfiguration(this.buddyTO.getLoginName());

if(!J){if(this.buddyTO.getDeviceInfo().hasOfflineProxyConfiguration())this.setStatus(this.trc(t,g,this.buddyTO.getLoginName()),4000);
else this.setStatus(this.trc(t,q,this.buddyTO.getLoginName()),3000);
}return;
}
if(J&&this.buddyTO.getDevice().hasPropertyCollectionCompleteCached()==false){this.trackGui.sendGetDeviceConfiguration(this.buddyTO.getLoginName());
}else{var L=this.buddyTO.getDevice().getPropertyCollection();

if(L!=null){this.log.info("DeviceWindow._loadPropertyCollection using from cache");
this._onRemoteProperiesChanged(L);
}else{this.log.info("DeviceWindow._loadPropertyCollection not done: isOnline="+J+" pcIsNull="+(this.buddyTO.getDevice().getPropertyCollection()==null));
}}
if(!J){this.setStatus.setValue(this.trc(t,q,this.buddyTO.getLoginName()),3000);
return;
}},destroyPopup:function(){if(this.remotePropertiesChangedListenerFunc!=null){if(this.trackGui.watchee!=null&&this.buddyTO!=null)this.buddyTO.getDevice().getEventManager().removeListener(s,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.miscSettingsTab!=null){this.miscSettingsTab.clear();
this.miscSettingsTab=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 k="input info",j="",i="16/categories/development.png",h="label",g="Tracking Rate",f="Button label",d="32/statusLine/deviceStateUnknown.png",c="execute",b="_action",a="action",bh="type",bg="middle",bf="trackingState",be="tracking",bd="infoMsgBox",bc="groupbox title",bb="left",ba="Track every given second at max speed:",Y="Change persistently (survive device restart)",X="Disabled for this account",r="Auto Tracking",s="Track every given second when standstill (heartbeat):",p="32/statusLine/deviceStateNoGPS.png",q="Send new tracking rate for %1.<br/><b>Note: The buddy is offline</b>",n="16/actions/dialog-ok.png",o="gps",l="button",m="Start Tracking",v="Track every given second at min speed:",w="Device shall send tracking data",E="ToolTip",C="info box",M="stop",H="Send new tracking rate for %1",T="GroupBox title",R="Send location if heading changes more than (degrees):",y="tab title",W="32/statusLine/deviceStateOff.png",V="start",U="Stop command (xb stop; gps stop):",x="16/statusLine/toolTipIcon.png",A="trackConfigWindow.trackOnOffButton.enabled",B="Start command (xb start; gps start):",D="right",F="Speed (km/h) for which max tracking rate applies:",I="22/devices/network-wireless.png",O="On/Off tracking on remote device:",S="22/actions/view-refresh.png",t="admin",u="32/statusLine/deviceStateOn.png",z="track.deviceconf.TrackRateTab",L="Vtrt",K="The min. speed (km/h) for heading change detection:",J="No permission to change tracking rate for public users",Q="trackConfigWindow.showTrackingIcon",P="Stop Tracking",G="You have no permission to switch on or off tracking",N="Submit";
qx.Class.define(z,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bi,bj){qx.core.Object.call(this);
this.buddyConfigWindow=bi;
this.buddyTO=bj;
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(bk){this.tabviewPage=new qx.ui.tabview.Page(this.trc(y,r),xbGetQxIcon(I));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
bk.add(this.tabviewPage);
var bn=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(bn);

if(this.trackGui.watchee==null)return;
this.showCmdStr=xbProperties.getBoolean(t,false);
this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(this.trackingRate);

if(this.newStyle){this.trackRateGroup=new track.rules.TrackRateGroup(this.trackGui,this);
var bl=6;
this.trackRateGroup.createGroup(bl,this.trc(T,g),true,xbGetQxIcon(i));
this.tabviewPage.add(this.trackRateGroup.getGroupBox());
}else{this.tabviewPage.add(this._createTrackingRateGroup());
}var bm=this._createTrackOnOff();

if(bm!=null){this.tabviewPage.add(bm);
}},onRemoteProperiesChanged:function(bo){var bq=bo.contains(this.KEY_TRACKING_RATE)||bo.contains(L)||bo.isAll();

if(!bq)return;
var bp=bo.getStr(this.KEY_TRACKING_RATE,j);

if(bp!=j){this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(bp);
}else{this.trackingRateStruct=net.watchee.TrackingRate.parseOldOrNew(bp);
}this.trackingIsOn=this.trackingRateStruct.switchedOn;
this.trackingIsOn=bo.getBoolean(be,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());
var br=this._createTrackOnOff();

if(br!=null){this.tabviewPage.add(br);
}}else{this.tabviewPage.removeAll();
this.tabviewPage.add(this._createTrackingRateGroup());
var br=this._createTrackOnOff();

if(br!=null){this.tabviewPage.add(br);
}}var bt=this.trackingIsOn;
var bs=null;

if(bo.get(bf)!=null){bs=bo.getInt(bf,-1);
bt=(bs==0||bs==1);
}else if(this.buddyTO.getDeviceInfo().isBlackbox()){bs=bt?1:-1;
}this._setTrackLabel(bt);
this._setTrackingIcon(bs);
},_createTrackingRateGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(C,J));
}var by=new qx.ui.groupbox.GroupBox(this.trc(bc,g),xbGetQxIcon(i));
var bu=new qx.ui.layout.Grid();
by.setLayout(bu);
var bv=380;
var bx=80;
bu.setSpacingY(4);
bu.setSpacingX(6);
bu.setColumnAlign(0,bb,bg);
var bA=0;
this.sendIntervalAtMinSpeedSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalAtMinSpeed,86400);
this.sendIntervalAtMinSpeedLabel=new qx.ui.basic.Label(this.trc(k,v));
by.add(this.sendIntervalAtMinSpeedLabel,{row:bA,column:0});
by.add(this.sendIntervalAtMinSpeedSpinner,{row:bA,column:1});
bA++;
this.sendIntervalAtMaxSpeedSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalAtMaxSpeed,86400);
this.sendIntervalAtMaxSpeedLabel=new qx.ui.basic.Label(this.trc(k,ba));
by.add(this.sendIntervalAtMaxSpeedLabel,{row:bA,column:0});
by.add(this.sendIntervalAtMaxSpeedSpinner,{row:bA,column:1});
bA++;
this.speedForMaxIntervalSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.speedForMaxInterval,900);
this.speedForMaxIntervalLabel=new qx.ui.basic.Label(this.trc(k,F));
by.add(this.speedForMaxIntervalLabel,{row:bA,column:0});
by.add(this.speedForMaxIntervalSpinner,{row:bA,column:1});
bA++;
this.sendIntervalHeartBeatSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.sendIntervalHeartBeat,86400);
this.sendIntervalHeartBeatLabel=new qx.ui.basic.Label(this.trc(k,s));
by.add(this.sendIntervalHeartBeatLabel,{row:bA,column:0});
by.add(this.sendIntervalHeartBeatSpinner,{row:bA,column:1});
bA++;
this.minSpeedForHeadingChangeThresholdSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.minSpeedForHeadingChangeThreshold,900);
this.minSpeedForHeadingChangeThresholdLabel=new qx.ui.basic.Label(this.trc(k,K));
by.add(this.minSpeedForHeadingChangeThresholdLabel,{row:bA,column:0});
by.add(this.minSpeedForHeadingChangeThresholdSpinner,{row:bA,column:1});
bA++;
this.headingChangeThresholdSpinner=new qx.ui.form.Spinner(0,this.trackingRateStruct.headingChangeThreshold,360);
this.headingChangeThresholdLabel=new qx.ui.basic.Label(this.trc(k,R));
by.add(this.headingChangeThresholdLabel,{row:bA,column:0});
by.add(this.headingChangeThresholdSpinner,{row:bA,column:1});
bA++;
var bw=this.buddyTO.getDeviceInfo();

if(!bw.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(!bw.supportsTrackingByHeadingChangeThreshold()){this.minSpeedForHeadingChangeThresholdLabel.setEnabled(false);
this.minSpeedForHeadingChangeThresholdSpinner.setEnabled(false);
}
if(!bw.supportsTrackingByHeadingChange()){this.headingChangeThresholdLabel.setEnabled(false);
this.headingChangeThresholdSpinner.setEnabled(false);
}
if(this.showCmdStr){this.timerStartCmdTextField=new qx.ui.form.TextField(j);
by.add(new qx.ui.basic.Label(this.trc(h,B)),{row:bA,column:0});
by.add(this.timerStartCmdTextField,{row:bA,column:1});
bA++;
this.timerStopCmdTextField=new qx.ui.form.TextField(j);
by.add(new qx.ui.basic.Label(this.trc(h,U)),{row:bA,column:0});
by.add(this.timerStopCmdTextField,{row:bA,column:1});
bA++;
}this.trackingRatePersistent=new qx.ui.form.CheckBox(this.trc(k,Y));
this.trackingRatePersistent.setValue(false);
by.add(this.trackingRatePersistent,{row:bA,column:0});

if(!bw.supportsTransientTrackingChange()){this.trackingRatePersistent.setEnabled(false);
this.trackingRatePersistent.setValue(true);
}var bz=new qx.ui.form.Button(this.trc(l,N),xbGetQxIcon(n));
by.add(bz,{row:bA,column:1});
bA++;
bz.addListener(c,function(e){if(this.trackGui.watchee==null)return;
var bC=new net.watchee.PropertyCollection();
var bG=new net.watchee.TrackingRate();
bG.sendIntervalAtMinSpeed=new Number(this.sendIntervalAtMinSpeedSpinner.getValue()).valueOf();
bG.sendIntervalAtMaxSpeed=new Number(this.sendIntervalAtMaxSpeedSpinner.getValue());
bG.speedForMaxInterval=new Number(this.speedForMaxIntervalSpinner.getValue());
bG.sendIntervalHeartBeat=new Number(this.sendIntervalHeartBeatSpinner.getValue());
bG.minSpeedForHeadingChangeThreshold=new Number(this.minSpeedForHeadingChangeThresholdSpinner.getValue());
bG.headingChangeThreshold=new Number(this.headingChangeThresholdSpinner.getValue());

if(this.showCmdStr){bG.timerStartCmd=this.timerStartCmdTextField.getValue();
bG.timerStopCmd=this.timerStopCmdTextField.getValue();
}var bB=bG.toCSV();
var bF=new net.watchee.PropertyPair(this.KEY_TRACKING_RATE,bB);
bF.setDurable(this.trackingRatePersistent.getValue());
bC.add(bF);
this.trackGui.sendDeviceSettings(this.buddyTO.getLoginName(),bC);
var bE=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(this.buddyTO.isOnline()||!bE){this.trackGui.infoMsgBox(this.trc(bd,H,this.buddyTO.getLoginName()),3000);
}else{this.trackGui.infoMsgBox(this.trc(bd,q,this.buddyTO.getLoginName()),3000);
}
if(bE){var bD=getSpecificDevice();

if(bD!=null&&bD.getPropertyCollection()!=null){bD.getPropertyCollection().addKeyValue(this.KEY_TRACKING_RATE,bB);
}}bz.setEnabled(false);
qx.event.Timer.once(function(e){bz.setEnabled(true);
},this,10000);
},this);
return by;
},_setTrackLabel:function(bH){if(this.trackOnOffSubmitButton==null)return;
this.trackingIsOn=bH;
this.trackOnOffSubmitButton.setLabel(this._getTrackingLabel());
this._setTrackingIcon(bH?1:-1);
},_createTrackOnOff:function(){if(this.buddyTO.getDeviceInfo().isWonde()){return null;
}
if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(h,G));
}var bK=new qx.ui.groupbox.GroupBox(this.trc(bc,w),xbGetQxIcon(i));
var bI=new qx.ui.layout.Grid(6,4);
bK.setLayout(bI);
bI.setRowAlign(0,bb,bg);
bI.setRowHeight(0,30);
bK.add(new qx.ui.basic.Label(this.trc(k,O)),{row:0,column:0});
this.trackOnOffSubmitButton=new qx.ui.form.Button(this._getTrackingLabel(),xbGetQxIcon(S));
this.trackOnOffSubmitButton.setAlignX(D);
bK.add(this.trackOnOffSubmitButton,{row:0,column:1});
this.trackOnOffSubmitButton.addListener(c,function(e){if(this.trackGui.watchee==null)return;
var bM=(this.trackingIsOn)?M:V;
this.trackingIsOn=!this.trackingIsOn;
{var bN=new net.watchee.PropertyCollection();
bN.add(new net.watchee.PropertyPair(a,bM));
bN.add(new net.watchee.PropertyPair(b,bM));
bN.add(new net.watchee.PropertyPair(bh,o));
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bN);
};
{var bN=new net.watchee.PropertyCollection();
bN.add(new net.watchee.PropertyPair(a,bM));
bN.add(new net.watchee.PropertyPair(b,bM));
bN.add(new net.watchee.PropertyPair(bh,be));
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bN);
};
this._setTrackLabel(this.trackingIsOn);
this.trackOnOffSubmitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.trackOnOffSubmitButton.setEnabled(true);
},this,10000);
},this);

if(xbProperties.getBoolean(A,true)==false){this.trackOnOffSubmitButton.setEnabled(false);
var bL=this.trc(E,X);
var bJ=new qx.ui.tooltip.ToolTip(bL,xbGetIcon(x));
bJ.setRich(true);
bJ.setShowTimeout(50);
this.trackOnOffSubmitButton.setToolTip(bJ);
}
if(xbProperties.getBoolean(Q,true)){this.isTrackingAtom=new qx.ui.basic.Atom(j);
this._setTrackingIcon(null);
bK.add(this.isTrackingAtom,{row:0,column:2});
}return bK;
},_setTrackingIcon:function(bO){if(this.isTrackingAtom==null)return;
var bP=xbGetIcon(d);

if(bO!=null&&this.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS)){if(bO==0)bP=xbGetIcon(p);
else if(bO==-1)bP=xbGetIcon(W);
else if(bO==1)bP=xbGetIcon(u);
else bP=xbGetIcon(d);
}this.isTrackingAtom.setIcon(bP);
},_getTrackingLabel:function(){return (this.trackingIsOn)?this.trc(f,P):this.trc(f,m);
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="Label",k="changeValue",j="middle",h="ListItem",g="h",f="km",d="min",c="sec",b="m",a="Send all",G="changeSelection",F="a position",E="infoMsgBox",D="Change persistently (survive device restart)",C="Disabled for this account",B="Tracking Rate",A="16/actions/dialog-ok.png",z="button",y="execute",x="Send on course change of",t="ToolTip",u="Send new tracking rate for %1",r="track.rules.TrackRateGroup",s="degree a position",p="trackConfigWindow.trackRateButton.enabled",q="16/statusLine/toolTipIcon.png",n="input info",o="Send new tracking rate for %1.<br/><b>Note: The buddy is offline</b>",v="groupbox title",w="Submit";
qx.Class.define(r,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(H,I){qx.core.Object.call(this);
this.trackGui=H;
this.masterWindow=I||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;
},_checkAll:function(J){this.distanceCheckBox.setValue(J);
this.distanceCheckBox.fireDataEvent(k,J);
this.headingCheckBox.setValue(J);
this.headingCheckBox.fireDataEvent(k,J);
this.heartbeatCheckBox.setValue(J);
this.heartbeatCheckBox.fireDataEvent(k,J);
},createDistanceHBox:function(){var K=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var L=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.distanceCheckBox=new qx.ui.form.CheckBox();
this.distanceCheckBox.addListener(k,function(e){var O=e.getData();
L.setEnabled(O);
});
var M=this.getDeviceInfo();

if(M!=null&&M.isWonde()){this.maximumDistanceKm=65;
}this.distanceLabel1=new qx.ui.basic.Label(this.trc(m,a)).set({alignY:j});
this.distanceSpinner=new qx.ui.form.Spinner(this.minimumMeter,500,5000);
this.distanceSpinner.setSingleStep(10);
this.distanceSpinner.setPageStep(100);
var N=new qx.util.format.NumberFormat();
N.setMaximumFractionDigits(0);
this.distanceSpinner.setNumberFormat(N);
this.distanceEntitySelectBox=new qx.ui.form.SelectBox().set({width:50});
this.listItemM=new qx.ui.form.ListItem(this.trc(h,b),null,b);
this.distanceEntitySelectBox.add(this.listItemM);
this.listItemKM=new qx.ui.form.ListItem(this.trc(h,f),null,f);
this.distanceEntitySelectBox.add(this.listItemKM);
this.distanceEntitySelectBox.addListener(G,function(e){var P=(e.getData().length==0)?null:e.getData()[0];

if(P.getModel()==b){this.distanceSpinner.setMinimum(this.minimumMeter);
this.distanceSpinner.setMaximum(5000);
this.distanceSpinner.setSingleStep(10);
this.distanceSpinner.setPageStep(100);
}else if(P.getModel()==f){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(m,F)).set({alignY:j});
K.add(this.distanceCheckBox);
K.add(L);
L.add(this.distanceLabel1);
L.add(this.distanceSpinner);
L.add(this.distanceEntitySelectBox);
L.add(this.distanceLabel2);
this.distanceHBox=K;
return K;
},createHeartbeatHBox:function(){var Q=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var R=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.heartbeatCheckBox=new qx.ui.form.CheckBox();
this.heartbeatCheckBox.addListener(k,function(e){var U=e.getData();
R.setEnabled(U);
});
this.heartbeatLabel1=new qx.ui.basic.Label(this.trc(m,a)).set({alignY:j});
this.heartbeatSpinner=new qx.ui.form.Spinner(this.minimumSec,120,300);
this.heartbeatSpinner.set({singleStep:1,pageStep:10});
var T=new qx.util.format.NumberFormat();
T.setMaximumFractionDigits(0);
this.heartbeatSpinner.setNumberFormat(T);
var S=this.getDeviceInfo();

if(S!=null&&S.isWonde()){this.maximumHeartbeatHours=18;
}this.heartbeatEntitySelectBox=new qx.ui.form.SelectBox().set({width:60});
this.listItemSec=new qx.ui.form.ListItem(this.trc(h,c),null,c);
this.heartbeatEntitySelectBox.add(this.listItemSec);
this.listItemMin=new qx.ui.form.ListItem(this.trc(h,d),null,d);
this.heartbeatEntitySelectBox.add(this.listItemMin);
this.listItemHour=new qx.ui.form.ListItem(this.trc(h,g),null,g);
this.heartbeatEntitySelectBox.add(this.listItemHour);
this.heartbeatEntitySelectBox.addListener(G,function(e){var V=(e.getData().length==0)?null:e.getData()[0];

if(V.getModel()==c){this.heartbeatSpinner.setMinimum(this.minimumSec);
this.heartbeatSpinner.setMaximum(300);
this.heartbeatSpinner.setSingleStep(1);
this.heartbeatSpinner.setPageStep(10);
}else if(V.getModel()==d){this.heartbeatSpinner.setMinimum(1);
this.heartbeatSpinner.setMaximum(300);
this.heartbeatSpinner.setSingleStep(1);
this.heartbeatSpinner.setPageStep(10);
}else if(V.getModel()==g){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(m,F)).set({alignY:j});
Q.add(this.heartbeatCheckBox);
Q.add(R);
R.add(this.heartbeatLabel1);
R.add(this.heartbeatSpinner);
R.add(this.heartbeatEntitySelectBox);
R.add(this.heartbeatLabel2);
this.heartbeatHBox=Q;
return Q;
},createHeadingHBox:function(){var W=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var X=new qx.ui.container.Composite(new qx.ui.layout.HBox(6));
this.headingCheckBox=new qx.ui.form.CheckBox();
this.headingCheckBox.addListener(k,function(e){var ba=e.getData();
X.setEnabled(ba);
});
this.headingLabel1=new qx.ui.basic.Label(this.trc(m,x)).set({alignY:j});
this.headingSpinner=new qx.ui.form.Spinner(10,30,90);
this.headingSpinner.set({singleStep:1,pageStep:10});
var Y=new qx.util.format.NumberFormat();
Y.setMaximumFractionDigits(0);
this.headingSpinner.setNumberFormat(Y);
this.headingLabel2=new qx.ui.basic.Label(this.trc(m,s)).set({alignY:j});
W.add(this.headingCheckBox);
W.add(X);
X.add(this.headingLabel1);
X.add(this.headingSpinner);
X.add(this.headingLabel2);
this.headingHBox=W;
return W;
},createSendConfigHBox:function(){var bb=new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
var bd=this.getDeviceInfo();
this.trackingRatePersistent=new qx.ui.form.CheckBox(this.trc(n,D));
this.trackingRatePersistent.setValue(false);

if(bd==null||!bd.supportsTransientTrackingChange()){this.trackingRatePersistent.setEnabled(false);
this.trackingRatePersistent.setValue(true);
}this.submitButton=new qx.ui.form.Button(this.trc(z,w),xbGetQxIcon(A));
this.KEY_TRACKING_RATE="trackingRate";
this.submitButton.addListener(y,function(e){if(this.trackGui.watchee==null)return;
var bg=new net.watchee.PropertyCollection();
var bf=this.getTrackingRateStrGui();
var bk=new net.watchee.PropertyPair(this.KEY_TRACKING_RATE,bf);
bk.setDurable(this.trackingRatePersistent.getValue());
bg.add(bk);
var bi=this.getBuddyTO();
this.trackGui.sendDeviceSettings(bi.getLoginName(),bg);
var bj=bi.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(bi.isOnline()||!bj){this.trackGui.infoMsgBox(this.trc(E,u,bi.getLoginName()),3000);
}else{this.trackGui.infoMsgBox(this.trc(E,o,bi.getLoginName()),3000);
}
if(bj){var bh=this.masterWindow.getSpecificDevice();

if(bh!=null&&bh.getPropertyCollection()!=null){bh.getPropertyCollection().addKeyValue(this.KEY_TRACKING_RATE,bf);
}}this.submitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.submitButton.setEnabled(true);
},this,10000);
},this);

if(xbProperties.getBoolean(p,true)==false){this.submitButton.setEnabled(false);
var be=this.trc(t,C);
var bc=new qx.ui.tooltip.ToolTip(be,xbGetIcon(q));
bc.setRich(true);
bc.setShowTimeout(50);
this.submitButton.setToolTip(bc);
}bb.add(this.trackingRatePersistent);
bb.add(this.submitButton);
return bb;
},createGroup:function(bl,bm,bn,bo){var bn=org.xmlBlaster.util.toBoolean(bn,false);
var br=bm||this.trc(v,B);
var bp=bo||null;
this.groupBox=new qx.ui.groupbox.GroupBox(br,bp);
var bq=this.groupBox;
this.groupBox.setLayout(new qx.ui.layout.VBox(10));
this.groupBox.setContentPadding(bl||12);
this.groupBox.add(this.createHeartbeatHBox());
this.groupBox.add(this.createDistanceHBox());
this.groupBox.add(this.createHeadingHBox());
this._checkAll(false);

if(bn){this.groupBox.add(this.createSendConfigHBox());
}this.updateEnabledFeatures(this.getDeviceInfo());
return this.groupBox;
},getBuddyTO:function(){var bs=this.masterWindow.getSpecificDevice();

if(bs!=null){return bs.getBuddyTO();
}return null;
},getDeviceInfo:function(){var bt=this.masterWindow.getSpecificDevice();

if(bt!=null){return bt.getDeviceInfo();
}return null;
},updateEnabledFeatures:function(bu){var bu=bu||null;

if(bu==null){this.supportsTrackingByHeartbeat=true;
this.supportsTrackingByDistance=true;
this.supportsTrackingByHeadingChange=true;
}else{this.supportsTrackingByHeartbeat=bu.supportsTrackingByHeartbeat();
this.supportsTrackingByDistance=bu.supportsTrackingByDistance();
this.supportsTrackingByHeadingChange=bu.supportsTrackingByHeadingChange();
}this.__so();
},__so: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(bv){this.setTrackingRate(net.watchee.TrackingRate.parseOldOrNew(bv));
},setTrackingRate:function(bw){this.trackingRateStruct=bw;
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 by=new net.watchee.TrackingRate();
by.setSwitchDistanceMeter(this.useDistance());
var bA=new Number(this.distanceSpinner.getValue());

if(this.distanceEntitySelectBox.getSelection()[0].getModel()==f)bA*=1000;

if(bA<this.minimumMeter)bA=this.minimumMeter;
by.setDistanceMeter(bA);
by.setSwitchIntervalHeartBeat(this.useHeartbeat());
var bx=new Number(this.heartbeatSpinner.getValue());

if(this.heartbeatEntitySelectBox.getSelection()[0].getModel()==d)bx*=60;
else if(this.heartbeatEntitySelectBox.getSelection()[0].getModel()==g)bx*=3600;

if(bx<this.minimumSec)bx=this.minimumSec;
by.setSendIntervalHeartBeat(bx);
by.setSwitchHeadingChangeThreshold(this.useHeading());
by.setHeadingChangeThreshold(this.headingSpinner.getValue());
var bz=by.toCSV();
return bz;
},useDistance:function(){var bB=(this.distanceCheckBox!=null&&this.distanceCheckBox.getValue()&&this.distanceHBox.isEnabled());
return bB;
},useHeartbeat:function(){var bC=(this.heartbeatCheckBox!=null&&this.heartbeatCheckBox.getValue()&&this.heartbeatHBox.isEnabled());
return bC;
},useHeading:function(){var bD=(this.headingCheckBox!=null&&this.headingCheckBox.getValue()&&this.headingHBox.isEnabled());
return bD;
},useTrackingRate:function(){var bE=this.useDistance()||this.useHeartbeat()||this.useHeading();

if(bE==false){}return bE;
},getEventSinksTOFromGui:function(){var bG=[];

if(this.useTrackingRate()){var bF=this.getTrackingRateStrGui();
var bH=new track.rulesmodel.EventSinkTO(this.trackGui,null);
bH.setExpression(bF);
bH.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.DEVICECOMMAND_TRACKINGRATE);
bG.push(bH);
}return bG;
},onChangeSelectedRuleName:function(bI){if(bI==null){this._checkAll(false);
}else{var bJ=bI.getEventSinkTOs(net.watchee.EventSinkTypeEnum.DEVICECOMMAND_TRACKINGRATE);

if(bJ.length>=1){var bL=bJ[0];
var bK=bL.getExpression();
this.setTrackingRateStr(bK);
}else{this.distanceCheckBox.setValue(false);
this.heartbeatCheckBox.setValue(false);
this.headingCheckBox.setValue(false);
}}},onChangeSelectedDevices:function(bM){if(bM.length==0){this.updateEnabledFeatures(null);
}
for(var i=0,l=bM.length;i<l;i++){var bO=bM[i];
var bN=bO.getDeviceInfo();
this.updateEnabledFeatures(bN);
break;
}},clear:function(){}},destruct:function(){}});
})();
(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(k){this.propertyCollection.addKeyValue(e,k);
},getEventSinkTypeId:function(){return this.propertyCollection.getStr(g,h);
},getEventSinkTypeEnum:function(){var l=this.propertyCollection.getStr(g,h);
return net.watchee.EventSinkTypeEnum.lookup(l);
},setEventSinkTypeEnum:function(m){var n=null;

if(m===undefined||m==null){n=this.propertyCollection.remove(g);
}else{n=this.propertyCollection.addKeyValue(g,m.getId());
}return (n==null)?null:n.getValue();
},getInfo:function(){return this.propertyCollection.getStr(f,h);
},getInfoMap:function(){return org.xmlBlaster.util.Hashtable.parseCSV(this.getInfo());
},setInfo:function(o){this.propertyCollection.addKeyValue(f,o);
},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 p="val",o="listItem",n="label",m="middle",k="input info",j="changeSelection",h="",g="VsleepDelaySec",f="left",d="ListItem",br="Power Save Mode",bq="infoMsgBox",bp="VsleepModeNum",bo=" <b>",bn="sec",bm="</b>",bl="right",bk="Expert Mode",bj="VsleepDurationSec",bi="status label",w="track.deviceconf.PowerSaveModeTab",x="Refresh GPS Data",u="<span style='color:red'><br>Attention: You can shake the device to wake it up. Other methods won't work.</span>",v="askMsgBox",s="VfirmwareRev",t="changeValue",q="Choose Power Save Mode",r="<span style='color:green'><br>Note: You can activate the device through the portal, by SMS, calling or shaking.</span>",C="green",D="16/actions/dialog-ok.png",N="Ssleep",K="button",V="Currently in Power Save Mode",Q="GPS off, GSM off, GPRS off, G-sensor off",be="Default | GPS off, GSM on, GPRS off, G-sensor on",bb="Activate Power Save Mode",G="<span style='color:green'><br>Note: You can send an SMS or call the device to wake it up.</span>",bh="Default | 5 Minutes",bg="info box",bf="<span style='color:green'><br>Note: You can send an SMS, call or shake the device to wake it up.</span>",F="Sending power save mode configuration for %1.<br/><b>Note: The buddy is offline</b>",I="execute",J="Sending power save mode configuration for %1",M="Medium | GPS off, GSM off, GPRS off, G-sensor on",O="Default | 1 Hour",R="askMgsBox title",X="tab title",bd="Activation after",y="Medium | 9 Hours",z="Strong | 18 Hours",H="Submit",U="Selected Mode:",T="16/categories/development.png",S="Rev.:",ba="22/apps/preferences-display.png",Y="The new configuration will only take effect if your device is reachable. <br> <br> Are you sure that your device is online (green LED)?",P="Tango/16/actions/help-about.png",W="Send Configuration",a="red",bc="GPS off, GSM on, GPRS off, G-sensor off",A="groupbox title",B="No permission to change tracking rate for public users",L="Currently normal operation",b="GPS off, GSM on, GPRS on, G-sensor on",c="<span style='color:red'><br>Attention: In this mode, the device only wakes up on each 'Refresh GPS Data' interval (defaults to 1 hour). There is no other way to wake up the device for sending a new configuration.</span>",E="01";
qx.Class.define(w,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bs,bt){qx.core.Object.call(this);
this.buddyConfigWindow=bs;
this.buddyTO=bt;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="PowerSaveModeTab.js";
this.log=this.trackGui.getLogger();
this.delaySeconds=300;
this.durationSeconds=3600;
this.modeNum=2;
this.trackerIsInSleepmode=false;
this.submitButton=null;
this.firmwareRev=0;
this.newFirmware=false;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(bu){this.tabviewPage=new qx.ui.tabview.Page(this.trc(X,br),xbGetQxIcon(ba));
this.tabviewPage.setLayout(new qx.ui.layout.VBox());
bu.add(this.tabviewPage);
var bv=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(bv);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createTrackingRateGroup(false));
},onRemoteProperiesChanged:function(bw){var bx=bw.contains(g)||bw.isAll();

if(!bx)return;
this.delaySeconds=bw.getStr(g,this.delaySeconds);
this.durationSeconds=bw.getStr(bj,this.durationSeconds);
this.info("VsleepDurationSec="+this.durationSeconds);
this.modeNum=bw.getStr(bp,this.modeNum);
this.info("VsleepModeNum="+this.modeNum);
this.firmwareRev=org.xmlBlaster.util.toNumber(bw.getStr(s,E));

if(this.firmwareRev>7){this.newFirmware=true;
}else{this.newFirmware=false;
}this.trackerIsInSleepmode=bw.getBoolean(N,this.trackerIsInSleepmode);
this.tabviewPage.removeAll();
this.tabviewPage.add(this._createTrackingRateGroup(true));
this.setCurrentSleepmode(false);
},setCurrentSleepmode:function(by){if(by){this.statusLabel.setValue(h);
return;
}
if(this.trackerIsInSleepmode){this.statusLabel.setTextColor(a);
this.statusLabel.setValue(this.trc(bi,V));
}else{this.statusLabel.setTextColor(C);
this.statusLabel.setValue(this.trc(bi,L));
}},_createTrackingRateGroup:function(bz){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(bg,B));
}this.group1=new qx.ui.groupbox.GroupBox(this.trc(A,br),xbGetQxIcon(T));
var bG=new qx.ui.layout.Grid(6,8);
bG.setColumnAlign(0,f,m);
bG.setColumnAlign(3,bl,m);
bG.setColumnMinWidth(0,250);
bG.setColumnMinWidth(3,200);
this.group1.setLayout(bG);
var bB=new qx.ui.layout.Grid(6,8);
bB.setColumnAlign(1,f,m);
bB.setColumnAlign(2,f,m);
bB.setColumnAlign(3,bl,m);
bB.setColumnMinWidth(2,100);
bB.setColumnMinWidth(3,150);
this.group2=new qx.ui.container.Composite(bB);
var bK=0;
this.firmwareRevLabel=new qx.ui.basic.Label(S+this.firmwareRev);
this.group1.add(this.firmwareRevLabel,{row:bK,column:3});
this.activateSleepingMode=new qx.ui.form.CheckBox(this.trc(k,bb));
this.activateSleepingMode.setValue(this.trackerIsInSleepmode);
this.activateSleepingMode.setEnabled(bz);
this.activateSleepingMode.addListener(t,function(e){var bO=e.getData();

if(bO){this.group2.show();
}else{this.group2.exclude();
}},this);
this.group1.add(this.activateSleepingMode,{row:bK,column:0});
bK++;
bK=0;
this.choosePowerSaveMode=new qx.ui.form.SelectBox();
var bH=new qx.ui.basic.Label(this.trc(k,q));
this.group2.add(bH,{row:bK,column:0});
this.group2.add(this.choosePowerSaveMode,{row:bK,column:1,colSpan:3});
bK++;
var bN=xbGetIcon(P);
var bI=new Array();
bI[1]=new qx.ui.form.ListItem(this.trc(o,b),bN);
bI[1].setUserData(p,1);
bI[2]=new qx.ui.form.ListItem(this.trc(o,be),bN);
bI[2].setUserData(p,2);
bI[3]=new qx.ui.form.ListItem(this.trc(o,bc),bN);
bI[3].setUserData(p,3);

if(this.newFirmware){bI[4]=new qx.ui.form.ListItem(this.trc(o,M),bN);
bI[4].setUserData(p,4);
bI[5]=new qx.ui.form.ListItem(this.trc(o,Q),bN);
bI[5].setUserData(p,5);
}
for(var i=1,l=bI.length;i<l;i++){this.choosePowerSaveMode.add(bI[i]);
}this.selectModeText=this.trc(n,U);
this.choosePowerSaveModeLabel=new qx.ui.basic.Label(this.selectModeText+bo+new String(this.modeNum)+bm);
this.choosePowerSaveModeLabel.setRich(true);
this.group2.add(this.choosePowerSaveModeLabel,{row:bK,column:1,colSpan:3});
bK++;
this.choosePowerSaveMode.addListener(j,function(e){var bP=e.getData()[0];
var bQ=bP.getUserData(p);
this.showCautionText(bQ);
},this);

if(this.modeNum>0&&this.modeNum<bI.length){this.choosePowerSaveMode.setSelection([bI[this.modeNum]]);
this.showCautionText(this.modeNum);
}else{this.choosePowerSaveMode.setSelection([bI[2]]);
this.showCautionText(2);
}this.powerDownDelayInterval=new qx.ui.form.SelectBox();
var bE=new qx.ui.basic.Label(this.trc(k,bd));
this.group2.add(bE,{row:bK,column:0});
this.group2.add(this.powerDownDelayInterval,{row:bK,column:1,colSpan:3});
bK++;
var bA=new Array();
bA[0]=new qx.ui.form.ListItem(this.trc(o,bh),bN);
bA[0].setUserData(p,5*60);
bA[1]=new qx.ui.form.ListItem(this.trc(o,bk),bN);
bA[1].setUserData(p,-1);

for(var i=0,l=bA.length;i<l;++i){this.powerDownDelayInterval.add(bA[i]);
}var bF=60;
var bC=65535;
this.powerDownDelayIntervalSpinner=new qx.ui.form.Spinner(bF,this.delaySeconds,bC);
this.powerDownDelayIntervalSpinner.setEnabled(false);
this.powerDownDelayIntervalSpinner.setMaxWidth(100);
var bM=new qx.ui.basic.Label(this.trc(d,bn));
this.group2.add(bM,{row:bK,column:2});
this.group2.add(this.powerDownDelayIntervalSpinner,{row:bK,column:1});
bK++;
this.powerDownDelayInterval.addListener(j,function(e){var bR=e.getData()[0];
var bS=bR.getUserData(p);

if(bS<0){if(this.activateSleepingMode.getValue())this.powerDownDelayIntervalSpinner.setEnabled(true);
}else{this.powerDownDelayIntervalSpinner.setEnabled(false);
this.powerDownDelayIntervalSpinner.setValue(bS);
}},this);

if(this.delaySeconds==bA[0].getUserData(p)){this.powerDownDelayInterval.setSelection([bA[0]]);
}else{this.powerDownDelayInterval.setSelection([bA[1]]);
this.powerDownDelayIntervalSpinner.setEnabled(true);
}
if(this.newFirmware){this.powerDownDuration=new qx.ui.form.SelectBox();
var bL=new qx.ui.basic.Label(this.trc(k,x));
this.group2.add(bL,{row:bK,column:0});
this.group2.add(this.powerDownDuration,{row:bK,column:1,colSpan:3});
bK++;
var bJ=new Array();
bJ[0]=new qx.ui.form.ListItem(this.trc(o,O),bN);
bJ[0].setUserData(p,3600);
bJ[1]=new qx.ui.form.ListItem(this.trc(o,y),bN);
bJ[1].setUserData(p,9*3600);
bJ[2]=new qx.ui.form.ListItem(this.trc(o,z),bN);
bJ[2].setUserData(p,18*3600);
bJ[3]=new qx.ui.form.ListItem(this.trc(o,bk),bN);
bJ[3].setUserData(p,-1);

for(var i=0,l=bJ.length;i<l;++i){this.powerDownDuration.add(bJ[i]);
}this.powerDownDurationSpinner=new qx.ui.form.Spinner(bF,this.durationSeconds,bC);
this.powerDownDurationSpinner.setEnabled(false);
this.powerDownDurationSpinner.setMaxWidth(100);
var bD=new qx.ui.basic.Label(this.trc(d,bn));
this.group2.add(bD,{row:bK,column:2});
this.group2.add(this.powerDownDurationSpinner,{row:bK,column:1});
bK++;
this.powerDownDuration.addListener(j,function(e){var bT=e.getData()[0];
var bU=bT.getUserData(p);

if(bU<0){if(this.activateSleepingMode.getValue())this.powerDownDurationSpinner.setEnabled(true);
}else{this.powerDownDurationSpinner.setEnabled(false);
this.powerDownDurationSpinner.setValue(bU);
}},this);

for(var i=0,l=bJ.length;i<l;++i){if(this.durationSeconds==bJ[i].getUserData(p)){this.powerDownDuration.setSelection([bJ[i]]);
break;
}
if(i==3){this.powerDownDuration.setSelection([bJ[3]]);
this.powerDownDurationSpinner.setEnabled(true);
}}}bK=1;

if(!this.trackerIsInSleepmode)this.group2.exclude();
this.group1.add(this.group2,{row:bK,column:0,colSpan:4});
bK++;
this.submitButton=new qx.ui.form.Button(this.trc(K,H),xbGetQxIcon(D));
this.submitButton.setMaxWidth(100);
this.group1.add(this.submitButton,{row:bK,column:3});
this.statusLabel=new qx.ui.basic.Label(h);
this.group1.add(this.statusLabel,{row:bK,column:0});
bK++;
this.submitButton.addListener(I,function(e){this.trackGui.askMsgBox(this.trc(R,W),this.trc(v,Y),function(bV){if(bV){this.submitData();
}},this);
},this);
return this.group1;
},showCautionText:function(bW){var bX=h;

if(bW==1){bX=this.trc(n,r);
}else if(bW==2){bX=this.trc(n,bf);
}else if(bW==3){bX=this.trc(n,G);
}else if(bW==4){bX=this.trc(n,u);
}else if(bW==5){bX=this.trc(n,c);
}this.modeNum=bW;
this.choosePowerSaveModeLabel.setValue(this.selectModeText+bo+new String(bW)+bm+bX);
},submitData:function(){if(this.trackGui.watchee==null)return;
var cc=new net.watchee.PropertyCollection();
var cf=this.activateSleepingMode.getValue()?net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.toSetActionString():net.watchee.RuleTypeEnum.ENTER_SLEEPMODE.toRemoveActionString();
var cd=new net.watchee.PropertyPair(net.watchee.PC_ACTION,cf);
cd.setDurable(true);
cc.add(cd);
if(this.activateSleepingMode.getValue()){var bY=new net.watchee.PropertyPair(g,this.powerDownDelayIntervalSpinner.getValue());
bY.setDurable(true);
cc.add(bY);
var cb=new net.watchee.PropertyPair(bp,this.choosePowerSaveMode.getSelection()[0].getUserData(p));
cb.setDurable(true);
cc.add(cb);

if(this.newFirmware){var ca=new net.watchee.PropertyPair(bj,this.powerDownDurationSpinner.getValue());
ca.setDurable(true);
cc.add(ca);
}}this.trackGui.sendDeviceSettings(this.buddyTO.getLoginName(),cc);
var ce=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(this.buddyTO.isOnline()||!ce){this.trackGui.infoMsgBox(this.trc(bq,J,this.buddyTO.getLoginName()),3000);
}else this.trackGui.infoMsgBox(this.trc(bq,F,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.group2.setEnabled(false);
this.submitButton.setEnabled(false);
}},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var l="info text",k="right",j="errorMsgBox",i="middle",h="16/actions/dialog-ok.png",g="button",f="execute",d="16/categories/development.png",c="input info",b="infoMsgBox",bi="groupbox title",bh="You have no permission to toggle roaming",bg="_action",bf="tooltip",be="type",bd="You have no permission to change the device phone number",bc="If the device is offline an SMS is send, this may take a minute or two",bb="You have no permission to reboot the device",ba=",bounce=",Y="close the GPRS session during roaming and buffer all new positions. ",s=")",t="Please enter the phone number of your tracker in a valid format like '+491751111'",q="Device control",r="<span style='color:red'>When enabled</span>, the device will continue sending out positions using the GPRS connection of the roaming network. ",o="This may result in <b> high traffic cost </b> but supports real time tracking in any network.",p="Roaming switching is not available for this device type",m="pn",n="Timeout, no response after %1 sec",w="100%",x="Reboot the device, current settings are not lost",F="<span style='color:green'>When disabled (default)</span>, the device will automatically ",D="Enable GPRS roaming",N="+491xxxxxx",I="track.deviceconf.MiscSettingsTab",U="tab title",S="Those positions will be sent out whenever the device returns to its standard (non-roaming) network. </br>",z="Other",X="",W=" (",V="reboot",y="<b><font color='green'>Success</font></b> %1",B="roaming",C="</font></b> ",E="22/categories/engineering.png",G="1",J="Sroaming",P="Device phone number for SMS sending",T="<b><font color='red'>",u="Change Tracker Phone Number",v="Reboot",A="Changing phone number is available only for blackbox trackers",M="=",L=" ",K="Rebooting is not available for this device type",R="server:hwPhoneNumber",Q="<b><font color='#FF0000'>Unexpected</font></b> %1",H="server.hwPhoneNumber",O="Submit",a="Toggle roaming mode";
qx.Class.define(I,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bj,bk){qx.core.Object.call(this);
this.buddyConfigWindow=bj;
this.buddyTO=bk;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="MiscSettingsTab.js";
this.log=this.trackGui.getLogger();
this.editTextField=null;
this.propertyCollection=null;
this.roamingCheckBox=null;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(bl){this.tabviewPage=new qx.ui.tabview.Page(this.trc(U,z),xbGetQxIcon(E));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
bl.add(this.tabviewPage);
var bm=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(bm);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createChangeHwPhoneNumber());
this.tabviewPage.add(this._createRebootButton());

if(this.buddyTO.getDeviceInfo().supportsRoamingSwitching()){this.tabviewPage.add(this._createRoamingSwitching());
}},onRemoteProperiesChanged:function(bn){if(this.propertyCollection!=null){this.propertyCollection.merge(bn);
}else{this.propertyCollection=bn.deepClone();
}this.propertyCollection.sortByKeysInsensitive();
var bo=this.propertyCollection.propHash.getKeys();
var bp=bn.getStr(m,null);

if(bp==null)bp=bn.getStr(H,null);

if(bp!=null&&this.editTextField!=null){this.editTextField.setValue(bp);
}var bq=bn.getBooleanRelaxed(J,false);

if(this.roamingCheckBox!=null)this.roamingCheckBox.setValue(bq);
var br=this.getBuddyTO().getDeviceMapping();

if(br!=null){if(this.editTextField!=null){this.editTextField.setValue(br.getHwPhoneNumber());
}}},_createChangeHwPhoneNumber:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(l,bd));
}
if(!this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){return new qx.ui.basic.Label(this.trc(l,bd));
}var bu=new qx.ui.groupbox.GroupBox(this.trc(bi,P),xbGetQxIcon(d));
var bt=new qx.ui.layout.Grid(6,2);
bu.setLayout(bt);
bu.setWidth(w);
bt.setColumnWidth(0,140);
bt.setRowAlign(0,k,i);
bt.setColumnAlign(0,k,i);
bt.setColumnAlign(1,k);
this.editTextField=new qx.ui.form.TextField(N);
this.editTextField.setMaxLength(26);
bu.add(this.editTextField,{row:0,column:0});
this.trackinIsOn=false;
var bs=new qx.ui.form.Button(this.trc(g,u),xbGetQxIcon(h));
bs.setAlignX(k);
bt.setColumnAlign(1,k,i);
bu.add(bs,{row:0,column:1,alignX:k});
bs.addListener(f,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(j,t));
return;
}
if(!this.getBuddyTO().getDeviceInfo().isBlackbox()){this.trackGui.errorMsgBox(this.trc(j,A));
return;
}bs.setEnabled(false);
qx.event.Timer.once(function(e){bs.setEnabled(true);
},this,4000);
var bx=R;
var bv=bx+M+bw;
this.sendCommand(bv);
},this);
return bu;
},_createRebootButton:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(l,bb));
}
if(!this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){return new qx.ui.basic.Label(this.trc(l,bb));
}var bA=new qx.ui.groupbox.GroupBox(this.trc(bi,q),xbGetQxIcon(d));
var bz=new qx.ui.layout.HBox(4);
bA.setLayout(bz);
bA.add(new qx.ui.basic.Label(this.trc(c,x)));
bz.setAlignY(i);
this.trackinIsOn=false;
var by=new qx.ui.form.Button(this.trc(g,v),xbGetQxIcon(h));
bA.add(by);
by.setToolTipText(this.trc(bf,bc));
by.addListener(f,function(e){if(this.trackGui.watchee==null)return;

if(!this.getBuddyTO().getDeviceInfo().isBlackbox()){this.trackGui.errorMsgBox(this.trc(j,K));
return;
}by.setEnabled(false);
qx.event.Timer.once(function(e){by.setEnabled(true);
},this,30000);

if(this.trackGui.watchee==null)return false;
var bC=new net.watchee.PropertyCollection();
bC.add(new net.watchee.PropertyPair(be,V));
bC.add(new net.watchee.PropertyPair(bg,G));
var bB=true;
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bC,bB);
},this);
return bA;
},_createRoamingSwitching:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(l,bh));
}
if(!this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG)){return new qx.ui.basic.Label(this.trc(l,bh));
}var bF=new qx.ui.groupbox.GroupBox(this.trc(bi,a),xbGetQxIcon(d));
var bE=new qx.ui.layout.Grid(6,4);
bF.setLayout(bE);
this.roamingCheckBox=new qx.ui.form.CheckBox(this.trc(c,D));
bF.add(this.roamingCheckBox,{row:0,column:0});
this.trackinIsOn=false;
var bD=new qx.ui.form.Button(this.trc(g,O),xbGetQxIcon(h));
bF.add(bD,{row:0,column:1});
bD.setToolTipText(this.trc(bf,bc));
bD.addListener(f,function(e){if(this.trackGui.watchee==null)return;

if(!this.getBuddyTO().getDeviceInfo().isBlackbox()){this.trackGui.errorMsgBox(this.trc(j,p));
return;
}bD.setEnabled(false);
qx.event.Timer.once(function(e){bD.setEnabled(true);
},this,10000);

if(this.trackGui.watchee==null)return false;
var bI=new net.watchee.PropertyCollection();
bI.add(new net.watchee.PropertyPair(be,B));
var bJ=this.roamingCheckBox.getValue();
bI.add(new net.watchee.PropertyPair(bg,bJ));
var bH=true;
this.trackGui.sendActionToDevice(this.buddyTO.getLoginName(),bI,bH);
},this);
var bG=new qx.ui.basic.Label(this.trc(c,F+Y+S+r+o));
bG.setRich(true);
bG.setWrap(true);
bG.setMaxWidth(490);
bF.add(bG,{row:1,column:0,colSpan:2});
bE.setColumnFlex(0,1);
return bF;
},sendCommand:function(bK){this.RESPONSE_TIMEOUT_SEC=10;
var bM=this.trackGui.getBounceNextVal();
bK=bK+ba+bM;
this.info("Sending command '"+bK+"'");
var bL=null;
this.trackGui.getRequestResponseDispatcher().registerRequest(bM,this.RESPONSE_TIMEOUT_SEC,this.responseOrExceptionOrTimeoutReceived,this,bL);
this.trackGui.sendRawDeviceCommand(this.buddyTO.getLoginName(),bM,bK);
},responseOrExceptionOrTimeoutReceived:function(bN,bO,bP){this.info("TestDeviceWindow.js Received response: "+bN);
var bR=org.xmlBlaster.util.PropTO;
var bQ=null;

if(bN==null){bQ=this.trc(b,n,bP.timeoutSec);
}else if(bN.isException()){bQ=X;
bQ+=T+bN.getPropValue(bR.KEY_ERRORCODE)+C;
bQ+=L+bN.getPropValue(bR.KEY_RESULT);
bQ+=W+bN.getPropValue(bR.KEY_DATA)+s;
}else{if(bN.getPropValue(bR.KEY_TASK)==net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST){bQ=this.trc(b,Q,bN.getPropValue(bR.KEY_RESULT));
}else{bQ=this.trc(b,y,bN.getPropValue(bR.KEY_RESULT));
}}this.trackGui.infoMsgBox(bQ);
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var l="right",k="middle",j="infoMsgBox",h="label",g="groupbox title",f="left",d=",bounce=",c="xbConnectionState",b="16/actions/dialog-ok.png",a="<b>Value</b>",W="track.deviceconf.ViewPropertiesTab",V="</font></b> ",U=")",T="Get current configuration from device",S="View Configuration",R="-1",Q="Settings of %1",P="16/categories/utilities.png",O="100%",N="execute",s="info text",t="<b>Key</b>",q="password",r="button",o="You have no permission to load device configuration",p="OFF",m="<b><font color='#FF0000'>Unexpected</font></b> %1",n="changeSelection",u="ON",v="tab title",C="16/categories/system.png",A="Refresh",G="",E=" (",J="<b><font color='green'>Success</font></b> %1",I="trackingState",x="Timeout, no response after %1 sec",M="gpsConnectionState",L="deviceEnum",K="input info",w="1",y="<b><font color='red'>",z="******",B="POLLING",D=" ",F="22/actions/edit-find.png",H="Load from device";
qx.Class.define(W,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(X,Y){qx.core.Object.call(this);
this.buddyConfigWindow=X;
this.buddyTO=Y;
this.trackGui=this.buddyConfigWindow.trackGui;
this.ME="ViewPropertiesTab.js";
this.log=this.trackGui.getLogger();
this.propertyCollection=null;
},members:{getBuddyTO:function(){return this.buddyTO;
},createTab:function(ba){this.tabviewPage=new qx.ui.tabview.Page(this.trc(v,S),xbGetQxIcon(F));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(2));
ba.add(this.tabviewPage);
var bb=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(bb);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createRefreshButton());
this.tabviewPage.add(this._createPropertiesView(),{flex:1});
ba.addListener(n,function(e){if(this.trackGui.watchee==null)return;

if(ba.getSelection()[0]==this.tabviewPage){this.buddyConfigWindow.loadRemoteProperties();
}},this);
},onRemoteProperiesChanged:function(bc){if(this.propertyCollection!=null){this.propertyCollection.merge(bc);
}else{this.propertyCollection=bc.deepClone();
}this.propertyCollection.sortByKeysInsensitive();
var bl=this.propertiesGrid;
bl.removeAll();
var bf=this.propertyCollection.propHash.getKeys();
var bm=0;
var bj=new qx.ui.basic.Label(this.trc(h,t));
bj.setRich(true);
bl.add(bj,{row:bm,column:0});
var bh=new qx.ui.basic.Label(this.trc(h,a));
bh.setRich(true);
bl.add(bh,{row:bm,column:1});

for(var i=0;i<bf.length;i++){var be=bf[i];
var bg=this.propertyCollection.propHash.get(be,null);

if(bg==null)continue;
var be=bg.getKey();

if(be==L){continue;
}bm=i+1;
var bi=new qx.ui.form.TextField(be).set({readOnly:true});
bl.add(bi,{row:bm,column:0});
var bd=bg.getValueStr();

if(be.indexOf(q)>=0){bd=z;
}else if(be==c||be==M||be==I){if(bd==R)bd=p;
else if(bd==w)bd=u;
else bd=B;
}var bk=new qx.ui.form.TextField(bd).set({readOnly:true});
bl.add(bk,{row:bm,column:1});
}},_createPropertiesView:function(){this.propertiesGrid=new qx.ui.groupbox.GroupBox(this.trc(g,Q,this.buddyTO.getLoginName()),xbGetQxIcon(P));
var bp=0;
var bq=1;
var bo=new qx.ui.container.Scroll();
bo.add(this.propertiesGrid);
var bn=new qx.ui.layout.Grid();
this.propertiesGrid.setLayout(bn);
bn.setSpacingY(4);
bn.setSpacingX(6);
bn.setColumnFlex(bq,1);
bn.setColumnWidth(bp,160);
bn.setColumnAlign(0,f,k);
bn.setColumnAlign(1,f,k);
return bo;
},_createRefreshButton:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(s,o));
}var bt=new qx.ui.groupbox.GroupBox(this.trc(g,H),xbGetQxIcon(C));
var bs=new qx.ui.layout.Grid(6,4);
bt.setLayout(bs);
bt.setWidth(O);
bs.setRowAlign(0,l,k);
bs.setColumnAlign(0,l,k);
bt.add(new qx.ui.basic.Label(this.trc(K,T)),{row:0,column:0});
this.trackinIsOn=false;
var br=new qx.ui.form.Button(this.trc(r,A),xbGetQxIcon(b));
br.setAlignX(l);
bs.setColumnAlign(1,l,k);
bt.add(br,{row:0,column:1,alignX:l});
br.addListener(N,function(e){if(this.trackGui.watchee==null)return;
this.buddyConfigWindow._loadPropertyCollection(true);
},this);
return bt;
},sendCommand:function(bu){this.RESPONSE_TIMEOUT_SEC=10;
var bw=this.trackGui.getBounceNextVal();
bu=bu+d+bw;
this.info("Sending command '"+bu+"'");
var bv=null;
this.trackGui.getRequestResponseDispatcher().registerRequest(bw,this.RESPONSE_TIMEOUT_SEC,this.responseOrExceptionOrTimeoutReceived,this,bv);
this.trackGui.sendRawDeviceCommand(this.buddyTO.getLoginName(),bw,bu);
},responseOrExceptionOrTimeoutReceived:function(bx,by,bz){this.info("TestDeviceWindow.js Received response: "+bx);
var bB=org.xmlBlaster.util.PropTO;
var bA=null;

if(bx==null){bA=this.trc(j,x,bz.timeoutSec);
}else if(bx.isException()){bA=G;
bA+=y+bx.getPropValue(bB.KEY_ERRORCODE)+V;
bA+=D+bx.getPropValue(bB.KEY_RESULT);
bA+=E+bx.getPropValue(bB.KEY_DATA)+U;
}else{if(bx.getPropValue(bB.KEY_TASK)==net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST){bA=this.trc(j,m,bx.getPropValue(bB.KEY_RESULT));
}else{bA=this.trc(j,J,bx.getPropValue(bB.KEY_RESULT));
}}this.trackGui.infoMsgBox(bA);
},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(c){this.getChildControl(b).add(c);
},remove:function(d){this.getChildControl(b).remove(d);
},getChildren:function(){return this.getChildControl(b).getChildren();
},_getContentPaddingTarget:function(){return this.getChildControl(b);
}}});
})();
(function(){var k="",j="infoMsgBox",i="text",h="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",g="16/actions/dialog-ok.png",f="track.deviceconf.SmsTab",d="button",c="execute",b="info box",a="Send SMS to device %1",D="Wake up command",C="doAction: type=Sgprs,_action=true;type=Sgps,_action=true;type=Str,_action=true",B="50412",A="middle",z="tab title",y="errorMsgBox",x="sendSms",w="SMS",v="left",u="16/categories/development.png",r="Sending SMS is for customers only",s="port",p="No permission to send SMS for public users",q="label",n="to",o="Sending SMS to %1 failed!<br /><br />Please configure a phone number for this device.",l="22/sendSms.png",m="groupbox title",t="Send SMS";
qx.Class.define(f,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(E,F){qx.core.Object.call(this);
this.deviceWindow=E;
this.buddyTO=F;
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(G){this.tabviewPage=new qx.ui.tabview.Page(this.trc(z,w),xbGetIcon(l));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
G.add(this.tabviewPage);
var H=this.buddyTO.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);
this.tabviewPage.setEnabled(H);

if(this.trackGui.watchee==null)return;
this.tabviewPage.add(this._createSmsSendGroup(false));
},_createSmsSendGroup:function(I){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(b,p));
}var M=new qx.ui.groupbox.GroupBox(this.trc(m,a,this.getBuddyTO().getLoginName()),xbGetQxIcon(u));
var J=new qx.ui.layout.Grid();
M.setLayout(J);
var K=380;
var L=80;
J.setSpacingY(4);
J.setSpacingX(6);
J.setColumnAlign(0,v,A);
var O=0;
this.smsTextLabel=new qx.ui.basic.Label(this.trc(q,D));
M.add(this.smsTextLabel,{row:O,column:0});
var N=C;
this.smsTextField=new qx.ui.form.TextField(N);
this.smsTextField.setEnabled(false);
this.smsTextField.setMaxLength(160);
this.smsTextField.setWidth(280);
M.add(this.smsTextField,{row:O,column:1});
O++;
this.submitButton=new qx.ui.form.Button(this.trc(d,t),xbGetQxIcon(g));
M.add(this.submitButton,{row:O,column:1});
this.statusLabel=new qx.ui.basic.Label(k);
M.add(this.statusLabel,{row:O,column:0});
O++;
this.submitButton.addListener(c,function(e){var P=this.buddyTO.getDevice();
var Q=P.getHwPhoneNumber();

if(Q==k){this.trackGui.errorMsgBox(this.trc(y,o,P.getDeviceId()));
return;
}this.sendSms(Q);
this.submitButton.setEnabled(false);
qx.event.Timer.once(function(e){this.submitButton.setEnabled(true);
},this,60000);
},this);
return M;
},sendSms:function(R){if(this.trackGui.watchee==null)return;

if(!this.trackGui.getSessionProfile().hasPermissionForSmsSending()){this.trackGui.infoMsgBox(this.trc(j,r));
return false;
}var S=this.trackGui.watchee.getTopicSmssend(R);
var U=k;
var T=B;
var V=new net.watchee.PropertyCollection();
V.add(new net.watchee.PropertyPair(n,R));
V.add(new net.watchee.PropertyPair(s,T));
V.add(new net.watchee.PropertyPair(i,this.smsTextField.getValue()));
var content=V.toXml();
this.trackGui.watchee.publishContent(S,content,U,this.trackGui.returnQosOrException,this.trackGui,x);
this.trackGui.infoMsgBox(this.trc(j,h,R));
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="infoMsgBox",k="TabView title",j="button",h="",g="This account does not support changing of rules",f="GroupBox title",d="addGeofences",c="<p>Do you still want to save and activate the rule?</p>",b="<br /> (",a="addRules",bi="): Max fences 25 reached",bh="Save rule %1",bg=")",bf="16/rules/rules.png",be="Tracking Rate",bd="</font></b> ",bc="Rest Webservice",bb="window title",ba="Is not supported by device",Y="<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>",t="Timeout, no response after %1 sec",u="Yes, save it",r="Tracking Rate On Alarm",s="Sound Notification",p="infoMsgBoxException",q="<b><font color='green'>Rule is deleted</font></b>",n="Vgf",o="No, I want to revise it",y="askMsgBox title",z="<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>",I="Input / Output Actions On Alarm",G="track.rules.RulesWindow",P="Rule Definitions",K="<p><font color='green'>Note:</font> For tracker of types like 'TK2000' and 'TK5000' no such SMS costs arise if they are online.</p>",U="Please select the day and time for this rule",S="showSound",B="IO Actions",X="Send Alarm To",W="<br /> ",V="<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>",A="rulesEditable",D="RulesWindow.js:getFreeGeofenceNumber(",E="showRest",H="<b><font color='red'>",J="label",L="<p><font color='red'>Caution:</font> Disable power save mode (sleep mode) if configured, otherwise this rule has no effect.</p>",Q="user.rule.notExists",T="<b><font color='green'>Success.</font></b>",v="<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>",w="<b><font color='#FF0000'>Unexpected</font></b> %1",C="Please choose a device first",O="close",N="getRuleAccountRelationsTOFromGui failed to determine eventID: the propertyConfig from Tracker is missing (not yet loaded)",M="Please enter a unique name for the new rule",R="infoMsgBoxSuccess";
var F=40;
var x=20;
qx.Class.define(G,{extend:track.util.WindowWithHelpIcon,construct:function(bj){track.util.WindowWithHelpIcon.call(this);
this.trackGui=bj;
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.soundNotificationGroup=new track.rules.SoundNotificationGroup(this.trackGui);
this.restWebserviceGroup=new track.rules.RestWebserviceGroup(this.trackGui);
this.trackRateGroup=new track.rules.TrackRateGroup(this.trackGui,this);
this.guiGroups=new Array(this.ruleNameGroup,this.ruleTypeGroup,this.chooseDevicesGroup,this.timeFilterGroup,this.eventSinkGroup,this.soundNotificationGroup,this.restWebserviceGroup,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(bb,P));
this.setIcon(xbGetIcon(bf));
this.rulesTO=null;
this.preferredDevice=null;
this.preferredRuleNameToDisplay=null;
this.preferredRuleTypeEnum=null;
this.addListener(O,function(e){this.clear();
},this);
this.addRulesEventFunc=this.trackGui.watchee.getEventManager().addListener(a,function(bk){var bl=bk.getData();
this.info("RulesWindow: Received addRules event");
this.rulesArrivedFromServer(new track.rulesmodel.RulesTO(this.trackGui,bl));
},this);
},members:{rulesArrivedFromServer:function(bm){this.rulesTO=bm;
this.ruleNameGroup.addRules(this.rulesTO);
if(this.preferredRuleNameToDisplay!=null){this.setSpecificRule(this.preferredDevice,this.preferredRuleTypeEnum,this.preferredRuleNameToDisplay,null);
this.preferredRuleNameToDisplay=null;
this.preferredRuleTypeEnum=null;
}else{this.setSpecificRule(null,null,null,null);
}},isNewRuleTO:function(){return this.ruleNameGroup.isNewRuleTO();
},getRulesWindowTop:function(){if(F>200)F=100;
F+=25;
return F;
},getRulesWindowLeft:function(){if(x>350)x=250;
x+=25;
return x;
},fromEventIDtoGeofenceNumberWonde:function(bn){var bp=50;
var bo=75;

if(bn>=50&&bn<=74)return bn-49;

if(bn>=75&&bn<=99)return bn-74;
return 1;
},fromGeofenceNumberToEventIDWonde:function(bq,br){var br=br||net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.isSame(this.ruleTypeGroup.getCurrentRuleTypeEnum());
var bt=50;
var bs=75;

if(br)return bq+74;
else return bq+49;
},getCurrentlyActiveGeofenceEventIDs:function(bu,bv){if(!bu.hasPropertyCollectionCompleteCached()){this.trackGui.errorMsgBoxDeveloper(N);
return [];
}var bv=bv||net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.isSame(this.ruleTypeGroup.getCurrentRuleTypeEnum());
var bA=[];
var bB=bu.getPropertyCollection();
var by=bB.getHashtable();
var bx=by.getKeys();

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

if(bC.indexOf(n)==0){var bz=bC.substr(3);
var bw=org.xmlBlaster.util.toNumber(bz);

if(bv&&bw>=75&&bw<=99)bA.push(bw);

if(!bv&&bw>=50&&bw<=74)bA.push(bw);
}}
if(bA.length>0){bA.sort();
}return bA;
},getUsedGeofenceNumbers:function(bD,bE){var bE=bE||net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.isSame(this.ruleTypeGroup.getCurrentRuleTypeEnum());
var bH=this.rulesTO.getRules();
var bF=[];

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

if(bE&&bI.isRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE)||!bE&&bI.isRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_ENTER)){var bG=bI.getRuleAccountRelationTO(bD.getLoginName());

if(bG!=null)bF.push(bG.getGeofenceNumber(1));
}}return bF;
},setProperGeofenceNumber:function(bJ,bK){var bK=bK||null;
var bM=this.getCurrentRuleTO();

if(bM==null){if(!this.ruleTypeGroup.getSelectedRuleTypeEnum().isGeofenceType()){return -1;
}
if(bJ!=null){var bN=bJ.getDeviceInfo();

if(bN.isWonde()){var bL=this.getUsedGeofenceNumbers(bJ);
var bO=this.getFreeGeofenceNumber(bL);

if(bK!=null)bK.setGeofenceNumber(bO);
return bO;
}}return -1;
}
if(!this.ruleTypeGroup.getSelectedRuleTypeEnum().isGeofenceType()){return -1;
}
if(bK==null){bK=bM.getRuleAccountRelationTO(bJ.getLoginName());

if(bK==null){return -1;
}}
if(bJ.getDeviceInfo().isWonde()&&bK.getGeofenceNumber(-1)==-1){var bQ=bM.getRuleAccountRelationTO(bJ.getLoginName());
var bP=this.ruleTypeGroup.getCurrentRuleTypeEnum().isSame(bM.getRuleTypeEnum());
var bO=-1;

if(bQ!=null&&bP){bO=bQ.getGeofenceNumber(-1);
}
if(bO==-1){var bL=this.getUsedGeofenceNumbers(bJ);
bO=this.getFreeGeofenceNumber(bL);
}bK.setGeofenceNumber(bO);
return bO;
}return -1;
},getFreeGeofenceNumber:function(bR){if(bR==null||bR.length==0)return 1;
bR.sort();
var bS=0;

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

if((bU-bS)>1)return bS+1;
bS=bU;
}var bT=bR[bR.length-1]+1;

if(bT>25){var bV=D+bR+bi;
this.trackGui.errorMsgBoxDeveloper(bV);
throw new Error(bV);
}return bT;
},loadRemoteProperties:function(bW){if(bW.getDevice().hasPropertyCollectionCompleteCached()){return;
}var bX=bW.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG_TRACKING);

if(!bX){this.error("RulesWindow.loadRemoteProperties: Device "+bW.getLoginName()+" is off-line or you have no permissions");
return;
}if(bW.getDeviceInfo().hasOfflineProxyConfiguration()||bW.isOnline()){this.trackGui.sendGetDeviceConfiguration(bW.getLoginName());
}},areRulesEditable:function(){return xbProperties.getBoolean(A,true);
},test:function(){var bY=z;
var ca=net.watchee.PropertyCollections.parseXml(bY);
return this.__sp(new track.rulesmodel.RulesTO(this.trackGui,ca));
},lookupRuleTOByRuleName:function(cb){var cb=cb||null;

if(this.rulesTO==null)return null;
return this.rulesTO.lookupRuleTOByRuleName(cb);
},lookupRuleTOByRuleTypeEnum:function(cc){var cc=cc||null;

if(this.rulesTO==null)return null;
return this.rulesTO.lookupRuleTOByRuleTypeEnum(cc);
},setSpecificDevice:function(cd,ce,cf,cg){var cd=cd||null;
var ce=ce||null;
var cf=cf||null;
this.preferredDevice=cd;
this.preferredRuleTypeEnum=ce;
this.preferredRuleNameToDisplay=cf;
var cg=cg||null;
this.ruleNameGroup.setSpecificDevice(cd);
var ch=null;
this.requestRulesFromServer(ch);
return true;
},setSpecificRule:function(ci,cj,ck,cl){var ci=ci||null;
var cj=cj||null;
var ck=ck||null;
var cl=cl||null;
var co=null;
var cm=(ci==null)?null:ci.getLoginName();

if(cj!=null||ck!=null||cl!=null){var cn=this.lookupRuleTOByRuleName(ck);

if(cn!=null&&(cm==null||cn.hasTargetDevice(cm))){this.ruleNameGroup.changeRuleNameSelection(cn.getRuleName());
return true;
}var cn=this.lookupRuleTOByRuleTypeEnum(cj);

if(cn!=null&&(cm==null||cn.hasTargetDevice(cm))){this.ruleNameGroup.changeRuleNameSelection(cn.getRuleName());
return true;
}this.setDefaultRuleNameActive();
return false;
}this.setDefaultRuleNameActive();
return true;
},setDefaultRuleNameActive:function(){this.onChangeSelectedRuleName(null);
},getSpecificDevice:function(){return this.ruleNameGroup.getSpecificDevice();
},createRulesWindow:function(cp){this.ruleNameGroup.setSpecificDevice(cp);
return this.__sp(null);
},__sp: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});
var cu=new track.util.EnhancedTabView();
cu.addPage(this.trc(k,X),this.eventSinkGroup.createGroup(this.defaultGroupBoxContentPadding));

if(xbProperties.getBoolean(S,true))cu.addPage(this.trc(k,s),this.soundNotificationGroup.create(this.defaultGroupBoxContentPadding));

if(xbProperties.getBoolean(E,true))cu.addPage(this.trc(k,bc),this.restWebserviceGroup.create(this.defaultGroupBoxContentPadding));
this.leftVBox.add(cu,{left:0,top:0});
var cq=new qx.ui.container.Composite(new qx.ui.layout.HBox());
cq.add(this.chooseDevicesGroup.createGroup(this.defaultGroupBoxContentPadding),{left:0,top:0});
cq.add(this.timeFilterGroup.createGroup(this.defaultGroupBoxContentPadding),{right:0,top:0});
this.rightVBox.add(cq,{left:0,top:0});
var ct=new track.util.EnhancedTabView();
var cs=this.trackRateGroup.createGroup(this.defaultGroupBoxContentPadding,this.trc(f,r));
ct.addPage(this.trc(k,be),cs);
var cr=new qx.ui.groupbox.GroupBox(this.trc(f,I));
cr.setLayout(new qx.ui.layout.HBox());
cr.setEnabled(false);
this.notSupportedLabel=new qx.ui.basic.Label(this.trc(J,ba));
cr.add(this.notSupportedLabel);
ct.addPage(this.trc(k,B),cr);
this.rightVBox.add(ct,{left:0,top:0});
this.trackGui.getMyRoot().add(this,{left:this.getRulesWindowLeft(),top:this.getRulesWindowTop()});
this.addGeofencesEventFunc=this.trackGui.watchee.getEventManager().addListener(d,function(cv){var cw=cv.getData();
this.info("RulesWindow: Received addGeofences event");
this.ruleTypeGroup.addGeofences(new track.rulesmodel.GeofencesTO(this.trackGui,cw));
},this);
this.trackGui.getGeofences(null);
this.onChangeSelectedRuleTypeEnum(this.ruleTypeGroup.getSelectedRuleTypeEnum(),this.getCurrentRuleTO());
this.open();
},requestRulesFromServer:function(cx,cy){var cx=cx||null;
var cy=cy||null;
this.trackGui.getRules(cx);
},onChangeSelectedRuleName:function(cz){for(var i=0,l=this.guiGroups.length;i<l;i++){var cA=this.guiGroups[i];

if(cA.onChangeSelectedRuleName!=undefined){cA.onChangeSelectedRuleName(cz);
}}},onChangeSelectedRuleTypeEnum:function(cB){for(var i=0,l=this.guiGroups.length;i<l;i++){var cC=this.guiGroups[i];

if(cC.onChangeSelectedRuleTypeEnum!=undefined){var cD=this.getCurrentRuleTO();
cC.onChangeSelectedRuleTypeEnum(cB,cD);
}}},onChangeSelectedDevices:function(cE){for(var i=0,l=cE.length;i<l;i++){var cF=cE[i];

if(!cF.getDevice().hasPropertyCollectionCompleteCached()){this.loadRemoteProperties(cF);
}}
for(var i=0,l=this.guiGroups.length;i<l;i++){var cG=this.guiGroups[i];

if(cG.onChangeSelectedDevices!=undefined){var cH=this.getCurrentRuleTO();
cG.onChangeSelectedDevices(cE,cH,this.ruleTypeGroup.getSelectedRuleTypeEnum());
}}},deleteButtonClicked:function(){if(this.trackGui.watchee==null)return;

if(!this.areRulesEditable()){this.trackGui.infoMsgBox(this.trc(m,g));
}var cI=this.ruleNameGroup.getRuleTOFromGui();

if(cI==null){return;
}},saveButtonClicked:function(cJ){var cJ=(cJ===undefined)?false:cJ;

if(this.trackGui.watchee==null)return;

if(!this.areRulesEditable()){this.trackGui.infoMsgBox(this.trc(m,g));
}var cQ=this.ruleNameGroup.getRuleTOFromGui();

if(cQ==null){return;
}
if(!org.xmlBlaster.util.isFilled(cQ.getRuleName())){this.trackGui.infoMsgBox(this.trc(m,M));
return;
}var cS=this.eventSinkGroup.getEventSinksTOFromGui();
cQ.setEventSinkTOs(cS);
for(var i=0,l=cS.length;i<l;i++){var cR=cS[i];

if(cR.getEventSinkTypeEnum()==net.watchee.EventSinkTypeEnum.BROWSER){this.soundNotificationGroup.fillEventSinkTOFromGui(cR);
break;
}}var cK=this.restWebserviceGroup.getEventSinksTOFromGui();
cQ.addEventSinkTOs(cK);
var cO=this.trackRateGroup.getEventSinksTOFromGui();
cQ.addEventSinkTOs(cO);
var cU=this.chooseDevicesGroup.getRuleAccountRelationsTOFromGui();

if(cU.length==0){this.trackGui.infoMsgBox(this.trc(m,C));
return;
}cQ.setRuleAccountRelationTOs(cU);
this.ruleTypeGroup.fillRuleTOFromGui(cQ);
var cP=this.timeFilterGroup.getFiltersTOFromGui();

if(cP.length==0&&!cQ.isFallbackRule()){this.trackGui.infoMsgBox(this.trc(m,U));
return;
}cQ.setFilterTOs(cP);

if(!cJ){var cT=null;

if(this.chooseDevicesGroup.supportsSmsConfigurationOnly()){cT=this.trc(m,V);

if(cQ.isRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE)||cQ.isRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_ENTER)||cQ.isRuleTypeEnum(net.watchee.RuleTypeEnum.OVERSPEED)||cQ.isRuleTypeEnum(net.watchee.RuleTypeEnum.MOVED)){var cM=this.eventSinkGroup.getValidatedEmailAddresses();

if(cM.length==0){cT+=this.trc(m,Y);
}}cT+=this.trc(m,K);
}
if(!cJ&&cQ.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPRS_LOST)){cT=this.trc(m,L);
}
if(cT!=null){cT+=this.trc(m,c);
var cL=null;
this.trackGui.askMsgBox(this.trc(y,bh,cQ.getRuleName()),cT,function(cV,cW){if(cV){this.saveButtonClicked(true);
}},this,cL,this.trc(j,u),this.trc(j,o));
return;
}}var cN=true;

if(cN){this.trackGui.sendAddRule(cQ,this.responseOrExceptionOrTimeoutReceived,this,cQ);
}else{this.trackGui.sendAddRule(cQ,this.responseOrExceptionOrTimeoutReceived,this,cQ);
}},getCurrentRuleTO:function(){if(this.trackGui.watchee==null)return null;
var cX=this.ruleNameGroup.getCurrentRuleTO();
return cX;
},isNewRuleTO:function(){if(this.trackGui.watchee==null)return null;
var cY=this.ruleNameGroup.isNewRuleTO();
return cY;
},deleteButtonClicked:function(){var da=this.getCurrentRuleTO();

if(da==null){return;
}this.trackGui.sendRemoveRule(da,this.responseOrExceptionOrTimeoutReceived,this,da);
},responseOrExceptionOrTimeoutReceived:function(db,dc,dd){this.info("RulesWindow.js Received response: "+db);
var dj=dc;
var di=org.xmlBlaster.util.PropTO;
var dl=null;
var dh=h;

if(db==null){dl=this.trc(m,t,dd.timeoutSec);
}else if(db.isException()){var dg=db.getPropValue(di.KEY_ERRORCODE);
var df=db.getPropValue(di.KEY_RESULT);
var dk=db.getPropValue(di.KEY_DATA);

if(dg==Q){dl=this.trc(p,T);
}else{dl=h;
dl+=H+dg+bd;
dl+=W+df;
dl+=b+dk+bg;
}}else{var de=db.getPropValue(di.KEY_TASK);

if(de==di.VALUE_TASK_NAMED_ADDRULE){dl=this.trc(R,v,dj.getRuleName());
this.preferredRuleNameToDisplay=dj.getRuleName();
this.preferredRuleTypeEnum=dj.getRuleTypeEnum();
this.requestRulesFromServer(null,null);
}else if(de==di.VALUE_TASK_NAMED_REMOVERULE){dl=this.trc(m,q);
this.preferredRuleNameToDisplay=null;
this.preferredRuleTypeEnum=null;
this.requestRulesFromServer(null,null);
}else{dl=this.trc(m,w,db.getPropValue(di.KEY_RESULT));
}}this.trackGui.infoMsgBox(dl+dh);
},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(d,this.addGeofencesEventFunc);
this.addGeofencesEventFunc=null;
}this.trackGui.getMyRoot().remove(this);
this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var m="ruleTO",k="middle",j="",h="execute",g="right",f="groupbox title",d="left",c="<New Rule>",b=")",a="button",D="All Alarm Rules",C="NEW_INSTANCE",B="Alarm Rules Filtered For %1",A="changeSelection",z="Delete",y="Button",x="16/rules/rules.png",w=" (",v="RuleName",u="Choose rule:",s="22/actions/document-save.png",t="input info",q="track.rules.RuleNameGroup",r="Rule name:",o="Save",p="label",n="22/places/user-trash.png";
qx.Class.define(q,{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.groupBoxTitle=null;
this.programmaticSetSelected=false;
this.ruleNameSelectBox=null;
this.ruleNameTextField=null;
this.groupBoxTitle=null;
},members:{setSpecificDevice:function(G){this.setTitle();
},getSpecificDevice:function(){return this.filterDevice;
},setTitle:function(){var H=this.trc(f,D);

if(this.filterDevice!=null){H=this.trc(f,B,this.filterDevice.getNiceName());
}
if(this.groupBoxTitle!=null)this.groupBoxTitle.setLegend(H);
return H;
},addRules:function(I){var I=I||null;
this.ruleNameSelectBox.removeAll();
this.listItemNew=this.__sq(null);

if(I==null){this.ruleNameSelectBox.setSelection([0]);
return;
}var J=I.getRules();
for(var i=0,l=J.length;i<l;i++){var K=J[i];
this.__sq(K);
}},__sq:function(L){var O=null;
var N=null;

if(L==null){O=this.trc(v,c);
N=C;
}else{O=L.getRuleName();
O+=w+L.getRuleTypeId()+b;
N=O;

if(N==net.watchee.RuleNameEnums.FALLBACK)O=net.watchee.RuleTypeEnum.FALLBACK.description;
}var M=this.__st(O);

if(M!=null)return M;
M=new qx.ui.form.ListItem(O,xbGetIcon(x),N);
M.setUserData(m,L);
this.__sr(this.ruleNameSelectBox,M);
return M;
},__sr:function(P,Q){this.programmaticSetSelected=true;
P.add(Q);
this.programmaticSetSelected=false;
},__ss:function(R){var S=this.__st(R);

if(S!=null){this.ruleNameSelectBox.remove(S);
return S;
}return null;
},__st:function(T){if(T==null)return null;
var U=this.ruleNameSelectBox.getChildren();

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

if(T==V.getModel())return V;
}return null;
},createGroup:function(W){var bd=new qx.ui.groupbox.GroupBox(this.setTitle());
this.groupBox=bd;
this.groupBoxTitle=bd;
var X=new qx.ui.layout.Grid(6,4);
bd.setLayout(X);
bd.setContentPadding(W||12);
var bf=0;
var bb=0;
var bc=1;
var Y=2;
var ba=3;
X.setColumnAlign(bb,d,k);
X.setColumnAlign(bc,g,k);
X.setColumnWidth(bc,200);
X.setColumnAlign(Y,d,k);
bd.add(new qx.ui.basic.Label(this.trc(p,u)),{row:bf,column:bb});
this.ruleNameSelectBox=new qx.ui.form.SelectBox();
bd.add(this.ruleNameSelectBox,{row:bf,column:bc});
this.ruleNameSelectBox.addListener(A,function(e){if(this.programmaticSetSelected)return;
var bg=(e.getData().length==0)?null:e.getData()[0];
this.__sv(bg);
},this);
bf++;
this.ruleNameTextField=new qx.ui.form.TextField(j);
var be=new qx.ui.basic.Label(this.trc(t,r));
bd.add(be,{row:bf,column:bb});
bd.add(this.ruleNameTextField,{row:bf,column:bc});
this.ruleNameTextField.setEnabled(true);
bf=0;
this.deleteButton=new qx.ui.form.Button(this.trc(a,z),xbGetQxIcon(n));
this.deleteButton.setAlignX(g);
bd.add(this.deleteButton,{row:bf,column:Y});
this.deleteButton.setEnabled(false);
this.deleteButton.addListener(h,function(e){this.masterWindow.deleteButtonClicked();
},this);
bf++;
this.saveButton=new qx.ui.form.Button(this.trc(y,o),xbGetQxIcon(s));
this.saveButton.setEnabled(true);
bd.add(this.saveButton,{row:bf,column:Y});
this.saveButton.addListener(h,function(e){this.masterWindow.saveButtonClicked();
},this);
return bd;
},changeRuleNameSelection:function(bh){var bi=this.__su(bh);

if(bi!=null){this.ruleNameSelectBox.setSelection([bi]);
return true;
}return false;
},__su:function(bj){var bj=bj||null;

if(bj==null)return null;
var bl=this.ruleNameSelectBox.getChildren();

for(var i=0,l=bl.length;i<l;i++){var bm=bl[i];
var bk=bm.getUserData(m);

if(bk!=null&&bk.getRuleName()==bj)return bm;
}return null;
},__sv:function(bn){if(bn==null)return ;
var bo=bn.getUserData(m);
this.masterWindow.onChangeSelectedRuleName(bo);
},getCurrentRuleName:function(){var bp=this.getCurrentRuleTO();

if(bp==null)return null;
return bp.getRuleName();
},isNewRuleTO:function(){return this.getCurrentRuleTO()==null;
},getCurrentRuleTO:function(){var bq=this.ruleNameSelectBox.getSelection()[0];

if(bq!=null)return bq.getUserData(m);
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.setInfo(j);
return br;
},onChangeSelectedRuleName:function(bs){this.deleteButton.setEnabled(true);

if(bs==null){this.ruleNameTextField.setEnabled(true);
this.deleteButton.setEnabled(false);
this.ruleNameTextField.setValue(j);
}else if(bs.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){this.ruleNameTextField.setEnabled(false);
}else{this.ruleNameTextField.setEnabled(true);
}
if(bs!=null)this.ruleNameTextField.setValue(bs.getRuleName());
},onChangeSelectedRuleTypeEnum:function(bt){if(this.groupBox==null)return;

if(net.watchee.RuleTypeEnum.FALLBACK.isSame(bt)){this.ruleNameTextField.setEnabled(false);
}else{this.ruleNameTextField.setEnabled(true);
}},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var m="",k="info",j="ruleType",h="ruleName",g="ruleTypeData",f="adminLoginName",e="Rule",d="creationTs",c="track.rulesmodel.RuleTO",b="modifiedTs",a="id";
qx.Class.define(c,{extend:qx.core.Object,construct:function(n,o){qx.core.Object.call(this);
this.trackGui=n;
this.geofenceTO=null;
this.filters=[];
this.eventSinks=[];
this.ruleAccountRelations=[];

if(org.xmlBlaster.util.isDefined(o)){this.propertyCollection=o;
}else{this.propertyCollection=new net.watchee.PropertyCollection(e);
}},members:{getRuleId:function(){return this.propertyCollection.getStr(a,m);
},getRuleName:function(){if(this.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){return this.getRuleTypeEnum().getAutoRuleName();
}return this.propertyCollection.getStr(h,m);
},setRuleName:function(p){this.propertyCollection.addKeyValue(h,p);
},getRuleTypeId:function(){var q=this.propertyCollection.getStr(j,m);
return q;
},getRuleTypeEnum:function(r){var s=this.getRuleTypeId();
return net.watchee.RuleTypeEnum.lookup(s,r);
},isRuleTypeEnum:function(t){return this.getRuleTypeEnum().isSame(t);
},setRuleTypeEnum:function(u){if(u.constructor==net.watchee.RuleTypeEnum)this.propertyCollection.addKeyValue(j,u.getId());
else this.propertyCollection.addKeyValue(j,u);
},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(g,m);
},getRuleTypeDataNumber:function(v){return org.xmlBlaster.util.toNumber(this.getRuleTypeData(),v);
},setRuleTypeData:function(w){this.propertyCollection.addKeyValue(g,w);
},getInfo:function(){return this.propertyCollection.getStr(k,m);
},getInfoHashtable:function(){var x=this.propertyCollection.getStr(k,m);
var y=org.xmlBlaster.util.Hashtable.parseCSV(x);
return y;
},setInfo:function(z){if(z==null||z.length<1)this.propertyCollection.remove(k);
else this.propertyCollection.addKeyValue(k,z);
},setGeofenceTO:function(A){this.geofenceTO=A;
},getGeofenceTO:function(){return this.geofenceTO;
},setFilterTOs:function(B){this.filters=B;
},addFilterTO:function(C){this.filters.push(C);
},addFilterPC:function(D){var E=new track.rulesmodel.FilterTO(this.trackGui,D);
this.filters.push(E);
},getFilterTOs:function(){return this.filters;
},getFilterTOs:function(F){var F=F||null;
var H=[];

for(var i=0,l=this.filters.length;i<l;i++){var G=this.filters[i];

if(G.getFilterTypeEnum().isSame(F))H.push(G);
}return H;
},addEventSinkTO:function(I){this.eventSinks.push(I);
},addEventSinkTOs:function(J){for(var i=0,l=J.length;i<l;i++){this.eventSinks.push(J[i]);
}},setEventSinkTOs:function(K){this.eventSinks=K;
},addEventSinkPC:function(L){var M=new track.rulesmodel.EventSinkTO(this.trackGui,L);
this.eventSinks.push(M);
},getEventSinkTOs:function(){return this.eventSinks;
},getEventSinkTOs:function(N){var N=N||null;
var P=[];

for(var i=0,l=this.eventSinks.length;i<l;i++){var O=this.eventSinks[i];

if(O.getEventSinkTypeEnum().isSame(N))P.push(O);
}return P;
},getPropertyCollectionOfRule:function(){return this.propertyCollection;
},getPropertyCollectionArr:function(){var T=[];
T.push(this.propertyCollection);

if(this.geofenceTO!=null){T.push(this.geofenceTO.getPropertyCollection());
}
for(var i=0,l=this.filters.length;i<l;i++){var S=this.filters[i];
T.push(S.getPropertyCollection());
}
for(var i=0,l=this.eventSinks.length;i<l;i++){var Q=this.eventSinks[i];
T.push(Q.getPropertyCollection());
}
for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){var R=this.ruleAccountRelations[i];
T.push(R.getPropertyCollection());
}return T;
},getPropertyCollections:function(){var U=new net.watchee.PropertyCollections();
U.pcList=this.getPropertyCollectionArr();
return U;
},getCreationTs:function(){return this.propertyCollection.getStr(d,m);
},getModifiedTs:function(){return this.propertyCollection.getStr(b,m);
},setRuleAccountRelationTOs:function(V){this.ruleAccountRelations=V;
},addRuleAccountRelationTO:function(W){this.ruleAccountRelations.push(W);
},addRuleAccountRelationPC:function(X){var Y=new track.rulesmodel.RuleAccountRelationTO(this.trackGui,X);
this.ruleAccountRelations.push(Y);
},getRuleAccountRelationTOs:function(){return this.ruleAccountRelations;
},getRuleAccountRelationTO:function(ba){if(ba==null)return null;

for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){if(this.ruleAccountRelations[i].getLoginName()==ba)return this.ruleAccountRelations[i];
}return null;
},hasTargetDevice:function(bb){if(bb==null)return false;

for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){if(this.ruleAccountRelations[i].getLoginName()==bb)return true;
}return false;
},getRuleAccountLoginNames:function(){var bc=[];

for(var i=0,l=this.ruleAccountRelations.length;i<l;i++){bc.push(this.ruleAccountRelations[i].getLoginName());
}return bc;
},getAdminLoginName:function(){return this.propertyCollection.getStr(f,m);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var h="",g="filterType",f="info",e="expression",d="modifiedTs",c="creationTs",b="Filter",a="track.rulesmodel.FilterTO";
qx.Class.define(a,{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(b);
}this.infoMapCache=null;
},members:{getExpression:function(){return this.propertyCollection.getStr(e,h);
},getCronExpression:function(){var k=new net.watchee.CronExpression(this.getExpression(),this.getInfoMap());
return k;
},setExpression:function(l){this.propertyCollection.addKeyValue(e,l);
},getFilterTypeId:function(){return this.propertyCollection.getStr(g,h);
},getFilterTypeEnum:function(){var m=this.propertyCollection.getStr(g,h);
return net.watchee.FilterTypeEnum.lookup(m);
},setFilterTypeEnum: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();
},getInfoMap:function(){if(this.infoMapCache==null){this.infoMapCache=org.xmlBlaster.util.Hashtable.parseCSV(this.getInfo());
}return this.infoMapCache;
},setInfoMap:function(p){var p=p||null;
this.infoMapCache=null;

if(p==null){this.setInfo(h);
}else{this.setInfo(p.toCSV());
}},getInfo:function(){return this.propertyCollection.getStr(f,h);
},setInfo:function(q){this.propertyCollection.addKeyValue(f,q);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(c,h);
},getModifiedTs:function(){return this.propertyCollection.getStr(d,h);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var j="",i="info",h="geofenceNumber",g="loginName",f="accountId",e="RuleAccountRelation",d="creationTs",c="modifiedTs",b="ruleId",a="track.rulesmodel.RuleAccountRelationTO";
qx.Class.define(a,{extend:qx.core.Object,construct:function(k,l){qx.core.Object.call(this);
this.trackGui=k;
if(org.xmlBlaster.util.isDefined(l)){this.propertyCollection=l;
}else{this.propertyCollection=new net.watchee.PropertyCollection(e);
}},members:{getLoginName:function(){return this.propertyCollection.getStr(g,j);
},getBuddyTO:function(){var m=this.trackGui.watchee.getBuddyManager().getBuddyOrMyself(this.getLoginName());
return m;
},getDevice:function(){var n=this.trackGui.watchee.getDevice(this.getLoginName());
return n;
},getDeviceInfo:function(){var o=this.getDevice();

if(o!=null){return o.getDeviceInfo();
}return null;
},getDeviceEnum:function(){var p=this.getDeviceInfo();

if(p!=null){return p.deviceEnum;
}return null;
},setLoginName:function(q){this.propertyCollection.addKeyValue(g,q);
},getAccountId:function(){return this.propertyCollection.getStr(f,j);
},getRuleId:function(){return this.propertyCollection.getStr(b,j);
},getInfo:function(){return this.propertyCollection.getStr(i,j);
},getInfoHashtable:function(){var r=this.propertyCollection.getStr(i,j);
var s=org.xmlBlaster.util.Hashtable.parseCSV(r);
return s;
},setInfo:function(t){if(t==null||t.length<1)this.propertyCollection.remove(i);
else this.propertyCollection.addKeyValue(i,t);
},addInfoCsv:function(u,v){if(u==null||u.length<1)return;
var x=this.getInfoHashtable();
var w=x.put(u,v);
this.setInfo(x.toCSV());
return w;
},removeInfoCsv:function(y){if(y==null||y.length<1)return;
var A=this.getInfoHashtable();
var z=A.remove(y);
this.setInfo(A.toCSV());
return z;
},getGeofenceNumber:function(B){var B=B||1;
var C=this.getInfoHashtable();
var D=C.getNumber(h,B);
return D;
},setGeofenceNumber:function(E){return this.addInfoCsv(h,E);
},removeGeofenceNumber:function(){return this.removeInfoCsv(h);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(d,j);
},getModifiedTs:function(){return this.propertyCollection.getStr(c,j);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="label",k="ruleTypeEnum",j="",h="geofenceTO",g=",",f="Fence No.:",d="changeSelection",c="middle",b="The device supports 25 geofence-leave rules simulatneously (Technical note: 1 is mapped to event-ID 75)",a=", TK5000 only",D=")",C="Speed km/h:",B="16/rules/ruleType.png",A=" (",z="Geofence to use:",y="track.rules.RuleTypeGroup",x=", TK102/TK5000 only",w="16/rules/geofence.png",v="getSelectedRuleTypeEnum is null",u="right",s="Event to use:",t="Rule Type",q="tooltip",r=", TK102 only",o="groupbox title",p="left",n="Ping intervall seconds:";
qx.Class.define(y,{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.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(G){if(org.xmlBlaster.util.isDefined(G)){this.filterDevice=G;
var H=new Array(G.getDeviceId());
this.trackGui.getRules(H);
}else{this.filterDevice=null;
var H=[];
var I=this.trackGui.watchee.getBuddyManager().getFriendOfList(net.watchee.BuddyPermissionTO.PERMISSION_CFG);
for(var i=0,l=I.length;i<l;i++){H.push(I[i].getLoginName());
}this.trackGui.getRules(H);
}this.setTitle();
},setTitle:function(){var J=this.trc(o,t);

if(this.groupBox!=null)this.groupBox.setLegend(J);
return J;
},addGeofences:function(K){var K=K||null;
this.geofenceNameSelectBox.removeAll();

if(K==null)return;
var N=K.getGeofences();

for(var i=0,l=N.length;i<l;i++){var L=N[i];
var M=new qx.ui.form.ListItem(L.getName(),xbGetIcon(w));
M.setUserData(h,L);
this.__sy(this.geofenceNameSelectBox,M);
}},__sw:function(){if(this.geofenceDrawer!=null){this.geofenceDrawer.clearAll();
this.geofenceDrawer=null;
}},__sx:function(O){var P=P||null;
this.__sw();
this.geofenceDrawer=this.trackGui.watchee.getMapManager().createGeofenceDrawer();
this.geofenceDrawer.draw(O);
},createGroup:function(Q){var V=new qx.ui.groupbox.GroupBox(this.setTitle());
this.groupBox=V;
var S=new qx.ui.layout.Grid(6,4);
V.setLayout(S);
V.setContentPadding(Q||12);
var Y=0;
S.setColumnAlign(this.COL0,p,c);
S.setColumnAlign(this.COL1,u,c);
S.setColumnWidth(this.COL1,290);
Y=0;
V.add(new qx.ui.basic.Label(this.trc(m,s)),{row:Y,column:this.COL0});
this.ruleTypesSelectBox=new qx.ui.form.SelectBox();
this.defaultTypeItem=null;

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

if(W.isSame(net.watchee.RuleTypeEnum.GEOFENCE_ENTER)||
W.isSame(net.watchee.RuleTypeEnum.BATTERY_LOW)||
W.isSame(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE)||
W.isSame(net.watchee.RuleTypeEnum.MOVED)||
W.isSame(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST)||
W.isSame(net.watchee.RuleTypeEnum.GPSSIGNAL_OK)||
W.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)||
W.isSame(net.watchee.RuleTypeEnum.OVERSPEED)||
W.isSame(net.watchee.RuleTypeEnum.SMS_OPERATION)||
W.isSame(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)||W.isSame(net.watchee.RuleTypeEnum.ENTER_AWAKE)||W.isSame(net.watchee.RuleTypeEnum.SOS_BUTTON)){var X=j;

if(W.isSame(net.watchee.RuleTypeEnum.ENTER_SLEEPMODE)||W.isSame(net.watchee.RuleTypeEnum.GEOFENCE_ENTER)||W.isSame(net.watchee.RuleTypeEnum.ENTER_AWAKE))X=this.trc(m,a);

if(W.isSame(net.watchee.RuleTypeEnum.MOVED))X=this.trc(m,r);

if(W.isSame(net.watchee.RuleTypeEnum.BATTERY_LOW))X=this.trc(m,x);
var U=W.getDescription()+A+W.getId()+X+D;
var R=new qx.ui.form.ListItem(U,xbGetIcon(B),W.getId());
R.setUserData(k,W);
this.ruleTypesSelectBox.add(R);

if(W.isSame(net.watchee.RuleTypeEnum.SOS_BUTTON))this.defaultTypeItem=R;
}}V.add(this.ruleTypesSelectBox,{row:Y,column:this.COL1});
this.ruleTypesSelectBox.addListener(d,function(e){if(this.programmaticSetSelected)return ;
var ba=(e.getData().length==0)?null:e.getData()[0];
this.__sC(ba);
},this);
Y++;
this.ruleTypeDataBoxGeofence=new qx.ui.container.Composite(new qx.ui.layout.HBox(5));
this.ruleTypeDataBoxGeofence.setUserData(m,this.trc(m,z));
this.geofenceNameSelectBox=new qx.ui.form.SelectBox();
this.geofenceNameSelectBox.setMaxHeight(20);
this.geofenceNameSelectBox.addListener(d,function(e){if(this.programmaticSetSelected)return ;
var bc=(e.getData().length==0)?null:e.getData()[0];

if(bc==null)return ;
var bb=bc.getUserData(h);
this.__sx(bb.getCoordinates());
},this);
this.ruleTypeDataBoxGeofence.add(this.geofenceNameSelectBox);
this.geofenceSpinnLabel=new qx.ui.basic.Label(this.trc(m,f));
this.geofenceSpinnLabel.setPaddingTop(6);
var T=this.trc(q,b);
this.geofenceSpinnLabel.setToolTipText(T);
this.ruleTypeDataBoxGeofence.add(new qx.ui.core.Spacer(8));
this.ruleTypeDataBoxGeofence.add(this.geofenceSpinnLabel);
this.geofenceSpinnLabel.exclude();
this.ruleTypeDataBoxOverspeed=new qx.ui.container.Composite(new qx.ui.layout.HBox(5));
this.ruleTypeDataBoxOverspeed.setUserData(m,this.trc(m,C));
this.overspeedSpinner=new qx.ui.form.Spinner(10,80,220);
this.overspeedSpinner.set({singleStep:1,pageStep:10});
this.ruleTypeDataBoxOverspeed.add(this.overspeedSpinner);
this.ruleTypeDataBoxPingIntervall=new qx.ui.container.Composite(new qx.ui.layout.HBox(5));
this.ruleTypeDataBoxPingIntervall.setUserData(m,this.trc(m,n));
this.pingIntervalSecSpinner=new qx.ui.form.Spinner(30,120,100000);
this.pingIntervalSecSpinner.set({singleStep:1,pageStep:10});
this.ruleTypeDataBoxPingIntervall.add(this.pingIntervalSecSpinner);
this.dataLabel=new qx.ui.basic.Label(j);
V.add(this.dataLabel,{row:Y,column:this.COL0});
V.add(this.ruleTypeDataBoxGeofence,{row:Y,column:this.COL1});
V.add(this.ruleTypeDataBoxOverspeed,{row:Y,column:this.COL1});
V.add(this.ruleTypeDataBoxPingIntervall,{row:Y,column:this.COL1});
V.setMinHeight(85);

if(this.defaultTypeItem!=null){this.__sz(this.ruleTypesSelectBox,this.defaultTypeItem);
}return V;
},__sy:function(bd,be){this.programmaticSetSelected=true;
bd.add(be);
this.programmaticSetSelected=false;
},__sz:function(bf,bg){this.programmaticSetSelected=true;
bf.setSelection([bg]);
this.programmaticSetSelected=false;
},__sA:function(bh){this.__sB();
this.dataLabel.setValue(bh.getUserData(m));
bh.show();
},__sB:function(){this.dataLabel.setValue(j);
this.ruleTypeDataBoxGeofence.exclude();
this.ruleTypeDataBoxOverspeed.exclude();
this.ruleTypeDataBoxPingIntervall.exclude();
},__sC:function(bi){if(bi==null)return ;
var bj=bi.getUserData(k);
this.masterWindow.onChangeSelectedRuleTypeEnum(bj);
},_displayEventIDs:function(bk,bl,bm){var bk=bk||null;
var bm=bm||null;
var bl=bl||null;

if(bk!=null&&bl==null){bl=bk.getRuleTypeEnum();
}
if(bk==null&&bl==null){return;
}
if(!bl.isGeofenceType()){return ;
}var bt=j;
var bq=j;

if(bk==null&&bm==null){bm=this.masterWindow.chooseDevicesGroup.getSelectedBuddyTOs();

if(bm.length==0)bm=null;
}
if(bk==null&&bm==null){this.geofenceSpinnLabel.setValue(this.trc(m,f));
this.geofenceSpinnLabel.show();
}else if(bm!=null){for(var i=0,l=bm.length;i<l;i++){var bs=bm[i];
var bp=bs.getDeviceInfo();

if(bp.isWonde()){var bo=-1;

if(bk!=
null&&
bk.hasTargetDevice(bs.getLoginName())&&bk.getRuleTypeEnum().isSame(bl)){bo=bk.getRuleAccountRelationTO(bs.getLoginName()).getGeofenceNumber(-1);
}
if(bo==-1){var bv=this.masterWindow.getUsedGeofenceNumbers(bs.getDevice());
bo=this.masterWindow.getFreeGeofenceNumber(bv);
}
if(bt.length>0)bt+=g;
bt+=bo;

if(bq.length>0)bq+=g;
var bu=net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.isSame(bl);
bq+=this.masterWindow.fromGeofenceNumberToEventIDWonde(bo,bu);
}}}else{var br=bk.getRuleAccountRelationTOs();

for(var i=0,l=br.length;i<l;i++){var bn=br[i];
var bp=bn.getDeviceInfo();

if(bp.isWonde()){if(bt.length>0)bt+=g;
var bo=bn.getGeofenceNumber(1);
bt+=bo;

if(bq.length>0)bq+=g;
var bu=net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.isSame(bk.getRuleTypeEnum());
bq+=this.masterWindow.fromGeofenceNumberToEventIDWonde(bo,bu);
}}}this.geofenceSpinnLabel.setValue(this.trc(m,f)+bq);
this.geofenceSpinnLabel.show();
},onChangeSelectedRuleName:function(bw){this.ruleTypesSelectBox.setEnabled(true);

if(bw==null){if(this.defaultTypeItem!=null){this.onChangeSelectedRuleTypeEnum(this.defaultTypeItem.getUserData(k));
}return;
}if(bw.isRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK)){this.masterWindow.onChangeSelectedRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK);
}else{if(bw.getRuleTypeEnum().isGeofenceType()){this.selectedGeofenceTO(bw.getGeofenceTO().getName());
this._displayEventIDs(bw);
}else if(bw.getRuleTypeEnum().isSame(net.watchee.RuleTypeEnum.OVERSPEED)){this.overspeedSpinner.setValue(bw.getRuleTypeDataNumber(80));
}else if(bw.getRuleTypeEnum().isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){this.pingIntervalSecSpinner.setValue(bw.getRuleTypeDataNumber(120));
}this.masterWindow.onChangeSelectedRuleTypeEnum(bw.getRuleTypeEnum());
}this._displayEventIDs(bw);
},onChangeSelectedRuleTypeEnum:function(bx,by){var bz=this.__sD(bx);

if(bz!=null){this.ruleTypesSelectBox.setSelection([bz]);
}if(bx.isGeofenceType()){this.__sA(this.ruleTypeDataBoxGeofence);
this._displayEventIDs(by,bx,this.masterWindow.chooseDevicesGroup.getSelectedBuddyTOs());
var bA=this.getSelectedGeofenceTO();

if(bA!=null){this.__sx(bA.getCoordinates());
}}else if(bx.isSame(net.watchee.RuleTypeEnum.OVERSPEED)){this.__sA(this.ruleTypeDataBoxOverspeed);
}else if(bx.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){this.__sA(this.ruleTypeDataBoxPingIntervall);
}else{this.__sw();
this.__sB();
}
if(net.watchee.RuleTypeEnum.FALLBACK.isSame(bx)){this.ruleTypesSelectBox.setEnabled(false);
}else{this.ruleTypesSelectBox.setEnabled(true);
}},onChangeSelectedDevices:function(bB,bC,bD){this._displayEventIDs(bC,bD,bB);
},getCurrentRuleTypeEnum:function(){return this.getSelectedRuleTypeEnum();
},getSelectedRuleTypeEnum:function(){var bE=this.ruleTypesSelectBox.getSelection()[0];

if(bE!=null){return bE.getUserData(k);
}this.trackGui.errorMsgBoxDeveloper(v);
return null;
},__sD:function(bF){if(bF==null)return null;
var bH=this.ruleTypesSelectBox.getChildren();

for(var i=0,l=bH.length;i<l;i++){var bI=bH[i];
var bG=bI.getUserData(k);

if(bG!=null&&bG.isSame(bF))return bI;
}return null;
},getSelectedGeofenceTO:function(){var bK=this.geofenceNameSelectBox.getSelection()[0];

if(bK!=null){var bJ=bK.getUserData(h);
return bJ;
}return null;
},__sE:function(bL){var bL=bL||null;

if(bL==null)return null;
var bN=this.geofenceNameSelectBox.getChildren();

for(var i=0,l=bN.length;i<l;i++){var bO=bN[i];
var bM=bO.getUserData(h);

if(bM!=null&&bM.getName()==bL)return bO;
}return null;
},selectedGeofenceTO:function(bP){var bQ=this.__sE(bP);

if(bQ!=null)this.geofenceNameSelectBox.setSelection([bQ]);
},fillRuleTOFromGui:function(bR){bR.setGeofenceTO(null);
bR.setRuleTypeData(null);

if(!this.ruleTypesSelectBox.isEnabled()){if(bR.isFallbackRule()){bR.setRuleTypeEnum(net.watchee.RuleTypeEnum.FALLBACK);
}return bR;
}var bS=this.getSelectedRuleTypeEnum();
bR.setRuleTypeEnum(bS);

if(bS.isGeofenceType()){bR.setGeofenceTO(this.getSelectedGeofenceTO());
}else if(bS.isSame(net.watchee.RuleTypeEnum.OVERSPEED)){bR.setRuleTypeData(this.overspeedSpinner.getValue());
}else if(bS.isSame(net.watchee.RuleTypeEnum.GPRS_LOST)){bR.setRuleTypeData(this.pingIntervalSecSpinner.getValue());
}else{}
if(!bS.isGeofenceType()){var bT=bR.getRuleAccountRelationTOs();

for(var i=0,l=bT.length;i<l;i++){var bU=bT[i];
bU.removeGeofenceNumber();
}}return bR;
},clear:function(){this.__sw();
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var h="buddyTO",g="track.rules.ChooseDevicesGroup",f="multi",d="groupbox title",c="changeSelection",b="on",a="Choose Devices";
qx.Class.define(g,{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.configList=null;
this.programmaticSetSelected=false;
this.groupBox=null;
},members:{createGroup:function(m){var r=new qx.ui.groupbox.GroupBox(this.trc(d,a));
this.groupBox=r;
var n=new qx.ui.layout.Basic();
r.setLayout(n);
r.setContentPadding(m||12);
this.configList=new qx.ui.form.List;
this.configList.setScrollbarX(b);
this.configList.set({height:170,width:160,selectionMode:f,dragSelection:true});
var o=this.trackGui.watchee.getBuddyManager().getFriendOfList(net.watchee.BuddyPermissionTO.PERMISSION_CFG,true);

for(var i=0,l=o.length;i<l;i++){var q=o[i];
var p=new qx.ui.form.ListItem(q.getAliasAndLoginName());
p.setUserData(h,q);
this.configList.add(p);
}this.configList.addListener(c,function(e){if(this.programmaticSetSelected){return;
}var s=e.getData();
this.__sF(s);
},this);
r.add(this.configList);
return r;
},getSelectedBuddyTOs:function(t){var u=[];
var t=t||this.configList.getSelection();

for(var i=0,l=t.length;i<l;i++){var w=t[i];
var v=w.getUserData(h);

if(v!=null){u.push(v);
}}return u;
},__sF:function(x){var y=this.getSelectedBuddyTOs(x);
this.masterWindow.onChangeSelectedDevices(y);
},onChangeSelectedDevices:function(z){},getRuleAccountRelationsTOFromGui:function(){var A=this.configList.getSelection();
var B=[];

for(var i=0,l=A.length;i<l;i++){var D=A[i];
var C=D.getUserData(h);
var E=C.getDevice();
var F=new track.rulesmodel.RuleAccountRelationTO(this.trackGui,null);
F.setLoginName(C.getLoginName());
this.masterWindow.setProperGeofenceNumber(E,F);
B.push(F);
}return B;
},containsDeviceType:function(G){var H=this.configList.getSelection();

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

if(I.getDeviceEnum()==G){return true;
}}return false;
},supportsSmsConfigurationOnly:function(){var L=this.configList.getSelection();

for(var i=0,l=L.length;i<l;i++){var O=L[i];
var N=O.getUserData(h);

if(N==null)continue;
var M=N.getDeviceInfo();

if(M.supportsSmsConfigurationOnly()){return true;
}}return false;
},__sG:function(P){var P=P||null;

if(P==null)return null;
var R=this.configList.getChildren();

for(var i=0,l=R.length;i<l;i++){var S=R[i];
var Q=S.getUserData(h);

if(Q!=null&&Q.getLoginName()==P)return S;
}return null;
},onChangeSelectedRuleName:function(T){this.programmaticSetSelected=true;
this.configList.resetSelection();
this.programmaticSetSelected=false;

if(T==null){if(this.masterWindow.preferredDevice!=null){this.selectLoginName([this.masterWindow.preferredDevice.getLoginName()]);
}return;
}var U=T.getRuleAccountLoginNames();
this.selectLoginName(U,false);
},selectLoginName:function(V,W){var V=V||[];

if(W)this.configList.resetSelection();

if(V.length==0){return;
}var Y=[];

for(var i=0,l=V.length;i<l;i++){var X=V[i];
var ba=this.__sG(X);
Y.push(ba);
}
if(Y.length>0){this.programmaticSetSelected=true;
this.configList.setSelection(Y);
this.programmaticSetSelected=false;
return true;
}return false;
},onChangeSelectedRuleTypeEnum:function(bb){if(this.groupBox==null)return;
},clear:function(){}},destruct:function(){}});
})();
(function(){var m="Weekday",k="MON",j="changeValue",h="TimeSlider",g="weekDay",f="THU",d="SAT",c="TUE",b="12/sliderKnobStart.png",a="Monday",D="Complete day",C="WED",B="Until: ",A="Filter",z="track.rules.TimeFilterGroup",y="Thursday",x="From: ",w="CheckBox label",v="12/sliderKnobUntil.png",u="Saturday",s="Tuesday",t="SUN",q="Friday",r="Sunday",o="Wednesday",p="groupbox title",n="FRI";
qx.Class.define(z,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(E){qx.core.Object.call(this);
this.trackGui=E;
this.groupBox=null;
this.fromDayTimeSlider=null;
this.untilDayTimeSlider=null;
this.completeDayCheckBox=null;
},members:{createGroup:function(F){var K=new qx.ui.groupbox.GroupBox(this.trc(p,A));
this.groupBox=K;
var I=new qx.ui.layout.VBox(0);
K.setLayout(I);
K.setContentPadding(F||12);
var O=new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
var G=new qx.ui.container.Composite(new qx.ui.layout.HBox(4));
var J=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
var L=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
var M=new qx.ui.container.Composite(new qx.ui.layout.VBox(0));
K.add(O);
K.add(G);
G.add(J);
G.add(L);
G.add(M);
this.completeDayCheckBox=new qx.ui.form.CheckBox(this.trc(w,D));
this.completeDayCheckBox.setValue(true);
this.completeDayCheckBox.addListener(j,function(e){var P=e.getData();
this.fromDayTimeSlider.setEnabled(!P);
this.untilDayTimeSlider.setEnabled(!P);
},this);
O.add(this.completeDayCheckBox,{right:0});
var N=200;
this.fromDayTimeSlider=new track.util.DayTimeSlider(xbGetIcon(b));
O.add(this.fromDayTimeSlider.createTimer(this.trc(h,x),6,N),{right:0});
this.fromDayTimeSlider.setEnabled(!this.completeDayCheckBox.getValue());
this.untilDayTimeSlider=new track.util.DayTimeSlider(xbGetIcon(v));
O.add(this.untilDayTimeSlider.createTimer(this.trc(h,B),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:k,label:this.trc(m,a),checkBox:null},{cronId:c,label:this.trc(m,s),checkBox:null},{cronId:C,label:this.trc(m,o),checkBox:null},{cronId:f,label:this.trc(m,y),checkBox:null},{cronId:n,label:this.trc(m,q),checkBox:null},{cronId:d,label:this.trc(m,u),checkBox:null},{cronId:t,label:this.trc(m,r),checkBox:null}];

for(var i=0,l=this.weekDays.length;i<l;i++){var H=new qx.ui.form.CheckBox(this.weekDays[i].label);
this.weekDays[i].checkBox=H;
H.setUserData(g,this.weekDays[i]);
H.addListener(j,function(e){var Q=e.getData();
var R=H.getUserData(g);
},this);

if(i<3)J.add(H);
else if(i<5)L.add(H);
else M.add(H);
}return K;
},getFiltersTOFromGui:function(){var bd=[];
var X=false;
var bh=[];
var U=[];
var bf=this.completeDayCheckBox.getValue();
var bb=0;
var bc=this.fromDayTimeSlider.getNumericTimeValue()>=this.untilDayTimeSlider.getNumericTimeValue();
var V=!bc;
for(var i=0,l=this.weekDays.length;i<l;i++){var bi=this.weekDays[i];
var be=bi.checkBox.getValue();

if(bf&&be){bb++;
}if(bf){var Y=this.weekDays[this.weekDays.length-1].checkBox.getValue();

if(be){if(!X){if(bi.cronId==k&&Y){}else{bh.push(bi.cronId);
}X=true;
}}else{if(X||bi.cronId==k&&Y){U.push(bi.cronId);
X=false;
}}}else{if(V){if(be){bh.push(bi.cronId);
U.push(bi.cronId);
}}else{if(be){bh.push(bi.cronId);

if(i<(l-1))U.push(this.weekDays[i+1].cronId);
else U.push(k);
}}}}var T=(bb==7);

if(T||bh.length>0){var W=new track.rulesmodel.FilterTO(this.trackGui,null);
var ba=new net.watchee.CronExpression(null);
ba.setForever(T);

if(bf){ba.setCompleteDay(true);
}else{ba.setHour(this.fromDayTimeSlider.getHourStr());
ba.setMinute(this.fromDayTimeSlider.getMinuteStr());
}ba.setDayOfWeek(bh);
var S=ba.getCronExpressionStr();
W.setExpression(S);
W.setInfoMap(ba.getFlagMap());
W.setFilterTypeEnum(net.watchee.FilterTypeEnum.CRON);
bd.push(W);

if(!T){var bg=new track.rulesmodel.FilterTO(this.trackGui,null);
var ba=new net.watchee.CronExpression(null);
ba.setForever(T);

if(bf){ba.setCompleteDay(true);
}else{ba.setHour(this.untilDayTimeSlider.getHourStr());
ba.setMinute(this.untilDayTimeSlider.getMinuteStr());
}ba.setDayOfWeek(U);
var S=ba.getCronExpressionStr();
bg.setExpression(S);
bg.setInfoMap(ba.getFlagMap());
bg.setFilterTypeEnum(net.watchee.FilterTypeEnum.CRON);
bd.push(bg);
}}return bd;
},onChangeSelectedRuleName:function(bj){if(bj==null||bj.isFallbackRule()){this.checkAllWeekDays(true);
}else{this.checkAllWeekDays(false);
var bq=bj.getFilterTOs(net.watchee.FilterTypeEnum.CRON);
var bp=(bq.length>0)?bq[0]:null;
var bs=(bp!=null)?bp.getCronExpression():null;
var bt=(bq.length>1)?bq[1]:null;
var br=(bt!=null)?bt.getCronExpression():null;

if(bs!=null){var bo=this.fromDayTimeSlider;
this.completeDayCheckBox.setValue(bs.isCompleteDay());

if(!bs.isCompleteDay()){var bn=bs.getHoursInt();
var bl=bs.getMinutesInt();
bo.moveSliderTo(bn,bl);
}
for(var i=0,l=this.weekDays.length;i<l;i++){var bv=this.weekDays[i];

if(bs.isForever()){bv.checkBox.setValue(true);
}else{var bk=bs.matchesDayOfWeek(bv.cronId);
bv.checkBox.setValue(bk);

if(bs.isCompleteDay()){if(bk){var bm=false;

for(i=i+1;i<l;i++){var bv=this.weekDays[i];
var bk=br.matchesDayOfWeek(bv.cronId);

if(bk){bm=true;
break;
}bv.checkBox.setValue(true);
}
if(!bm){for(var bu=0;bu<i;bu++){var bv=this.weekDays[bu];
var bk=br.matchesDayOfWeek(bv.cronId);

if(bk){bm=true;
break;
}bv.checkBox.setValue(true);
}}}}}}}
if(br!=null){var bo=this.untilDayTimeSlider;

if(!br.isCompleteDay()){var bn=br.getHoursInt();
var bl=br.getMinutesInt();
bo.moveSliderTo(bn,bl);
}}}},onChangeSelectedRuleTypeEnum:function(bw){if(this.groupBox==null)return;
this.completeDayCheckBox.setValue(true);
this.completeDayCheckBox.setEnabled(true);
this.groupBox.setEnabled(true);

if(net.watchee.RuleTypeEnum.FALLBACK.isSame(bw)){this.checkAllWeekDays(true);
this.groupBox.setEnabled(false);
}else if(net.watchee.RuleTypeEnum.SCHEDULED_EVENT.isSame(bw)){this.completeDayCheckBox.setValue(false);
this.completeDayCheckBox.setEnabled(false);
}else{this.checkAllWeekDays(true);
}},checkAllWeekDays:function(bx){for(var i=0,l=this.weekDays.length;i<l;i++){var by=this.weekDays[i];
by.checkBox.setValue(bx);
}},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var p="",o="OEM/",n="TextArea",m="infoMsgBox",k="changeValue",j="middle",h="label",g="text",f="focus",d="right",bz="execute",by="errorMsgBox",bx="sendTestEmail",bw="22/testSend.png",bv="\n",bu="to",bt="Test",bs="/from",br="supportEmail",bq="mousedown",w="%1 is validated",x="Please enter a valid SMS phone number +49175... to test",u="mail.subject",v="Please enter the command to send to the phone<br />",s="content",t="oemName",q="Please enter a valid email address to test",r="expires",E="demo@gmx.net\ntest@yahoo.com",F="GPSvision",S="Browser notification",O="button email",bb="promptMsgBox.label",V="doAction: xb start; gps start; tracking start",bm="Sending SMS is for customers only",bg="button",J="from",bp="<i>for example 'doAction: xb start; gps start; tracking start'</i>",bo="Sending Emails is for customers only",bn="sms.testTitle",I=":",L="track.rules.EventSinkGroup",N="Email notification",Q="Test Mail From Portal",T="supportPhone",W="%1 Test",bd="emailTestButton.enabled",bi="subject",y="+60000",z="supportName",K="mr@marcelruff.info",ba="/supportEmail",Y="+4917599999\n+491577000000",X="sms.text",bf="Your command to send",be="+491754616132\n+4915774705478:50412",U="Send Alarm To Email/SMS",bc="oemNiceName",a="smsTestButton.enabled",bh="/oemNiceName",A="mail.content",B="emailsend",P="promptMsgBox.title",b="port",c="/supportPhone",H="@",C="Your email address %1 is validated",D="lang",G="groupbox title",R="left",bk="/supportName",bj="SMS is send to %1, please check your mobile phone",M="Email is send to %1, please check your email account",bl="SMS notification";
qx.Class.define(L,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bA){qx.core.Object.call(this);
this.trackGui=bA;
this.groupBox=null;
this.browserCheckBox=null;
this.emailCheckBox=null;
this.emailTextArea=null;
this.emailTextAreaExample=this.trc(n,E);
this.emailTestButton=null;
this.emailTestButtonEnabled=xbProperties.getBoolean(bd,true);
this.smsCheckBox=null;
this.smsTextArea=null;
this.smsTextAreaExample=this.trc(n,Y);
this.smsTestButton=null;
this.smsTestButtonEnabled=xbProperties.getBoolean(a,true);
this.j2meCommand=V;
this.j2meEnableSend=true;
this.testFixed=isDevelopEnvironment;

if(this.testFixed){this.emailTextAreaExample=this.trc(n,K);
this.smsTextAreaExample=this.trc(n,be);
}},members:{createGroup:function(bB){var bI=new qx.ui.groupbox.GroupBox(this.trc(G,U));
this.groupBox=bI;
var bC=new qx.ui.layout.Grid(5,5);
bI.setLayout(bC);
bI.setContentPadding(bB||12);
var bJ=0;
var bF=0;
var bG=1;
var bE=2;
bC.setColumnAlign(0,R,j);
bC.setColumnAlign(1,d,j);
this.browserCheckBox=new qx.ui.form.CheckBox(this.trc(h,S));
this.browserCheckBox.setValue(true);
this.browserCheckBox.addListener(k,function(e){},this);
bI.add(this.browserCheckBox,{row:bJ,column:bF});
bJ++;
var bH=false;
this.emailCheckBox=new qx.ui.form.CheckBox(this.trc(h,N));
this.emailCheckBox.setValue(bH);
bI.add(this.emailCheckBox,{row:bJ,column:bF});
this.emailTextArea=new qx.ui.form.TextArea(this.emailTextAreaExample);
this.emailTextArea.setWrap(false);
this.emailTextArea.setHeight(42);
this.emailTextArea.setEnabled(bH);
this.emailTextArea.addListener(f,function(e){if(!this.testFixed&&this.__sK()==this.emailTextAreaExample){this.emailTextArea.setValue(p);
}},this);
bI.add(this.emailTextArea,{row:bJ,column:bG});
this.emailTestButton=new qx.ui.form.Button(this.trc(O,bt),xbGetIcon(bw));
this.emailTestButton.setEnabled(bH);
bI.add(this.emailTestButton,{row:bJ,column:bE});
this.emailCheckBox.addListener(k,function(e){var bK=e.getData();
this.__sH(bK);
},this);
this.emailTestButton.addListener(bz,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);
bJ++;
var bD=false;
this.smsCheckBox=new qx.ui.form.CheckBox(this.trc(h,bl));
this.smsCheckBox.setValue(bD);
bI.add(this.smsCheckBox,{row:bJ,column:bF});
this.smsTextArea=new qx.ui.form.TextArea(this.smsTextAreaExample);
this.smsTextArea.setWrap(false);
this.smsTextArea.setHeight(42);
this.smsTextArea.setEnabled(bD);
this.smsTextArea.addListener(f,function(e){if(!this.testFixed&&this.__sJ()==this.smsTextAreaExample){this.smsTextArea.setValue(p);
}},this);
bI.add(this.smsTextArea,{row:bJ,column:bG});
this.smsTestButton=new qx.ui.form.Button(this.trc(bg,bt),xbGetIcon(bw));
this.smsTestButton.setEnabled(this.smsTestButtonEnabled&&bD);
bI.add(this.smsTestButton,{row:bJ,column:bE});
this.smsCheckBox.addListener(k,function(e){var bL=e.getData();
this.__sI(bL);
},this);
this.smsTestButton.addListener(bz,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(bq,function(e){if(this.trackGui.watchee==null)return;

if(e.isShiftPressed()){this.j2meEnableSend=false;
this.editJ2meCommand();
}},this);
bJ++;
bC.setColumnFlex(bG,1);
bC.setColumnAlign(bE,d,j);
return bI;
},__sH:function(bM){this.emailTextArea.setEnabled(bM);
this.emailTestButton.setEnabled(this.emailTestButtonEnabled&&bM);
},__sI:function(bN){this.smsTextArea.setEnabled(bN);
this.smsTestButton.setEnabled(this.smsTestButtonEnabled&&bN);
},__sJ:function(){var bP=100;
var bO=this.smsTextArea.getValue();
bO=org.xmlBlaster.util.trim(bO);

if(bO.length>bP){bO=bO.substring(0,bP);
bO=org.xmlBlaster.util.trim(bO);
this.smsTextArea.setValue(bO);
}return bO;
},__sK:function(){var bQ=156;
var bR=this.emailTextArea.getValue();
bR=org.xmlBlaster.util.trim(bR);

if(bR.length>bQ){bR=bR.substring(0,bQ);
bR=org.xmlBlaster.util.trim(bR);
this.emailTextArea.setValue(bR);
}return bR;
},editJ2meCommand:function(){var bS=3;
var bT=false;
this.trackGui.promptMsgBox(this.trc(P,bf),this.trc(bb,v+bp),this.j2meCommand,bS,bT,function(bU,bV){this.j2meEnableSend=true;

if(bU){this.j2meCommand=bV;
}},this);
},sendTestEmails:function(){var bW=this.getValidatedEmailAddresses();

if(bW.length==0){this.trackGui.errorMsgBox(this.trc(by,q));
return false;
}
for(var i=0,l=bW.length;i<l;i++){var bX=bW[i];

if(this.sendTestEmail(bX)==false)return false;
}return true;
},sendTestEmail:function(bY){if(!this.trackGui.getSessionProfile().hasPermissionForEmailSending()){this.trackGui.infoMsgBox(this.trc(m,bo));
return false;
}var cb=B;
var cc=p;
var cd=new net.watchee.PropertyCollection();
var ca=new net.watchee.PropertyPair(bu,bY);
cd.add(ca);
var ca=new net.watchee.PropertyPair(bi,this.trc(u,Q));
cd.add(ca);
var ca=new net.watchee.PropertyPair(s,this.trc(A,C,bY));
cd.add(ca);
var ca=new net.watchee.PropertyPair(r,y);
cd.add(ca);
this.appendOemInfo(cd);
var content=cd.toXml();
this.trackGui.watchee.publishContent(cb,content,cc,this.trackGui.returnQosOrException,this.trackGui,bx);
this.trackGui.infoMsgBox(this.trc(m,M,bY));
return true;
},appendOemInfo:function(ce){var cj=F;
var ck=this.trackGui.getMyAccountTO();

if(ck==null)return cj;
var ci=ck.getOemName();

if(ci!=null&&ci!=p){cj=ci;
ce.addKeyValue(t,ci);
ce.addKeyValue(D,ck.getLanguage());
var cf=ck.getAccountPropertyStr(o+ci+bs,null);

if(cf!=null){ce.addKeyValue(J,cf);
}var cl=ck.getAccountPropertyStr(o+ci+ba,null);

if(cl!=null){ce.addKeyValue(br,cl);
}var ch=ck.getAccountPropertyStr(o+ci+c,null);

if(ch!=null){ce.addKeyValue(T,ch);
}var cm=ck.getAccountPropertyStr(o+ci+bh,null);

if(cm!=null){ce.addKeyValue(bc,cm);
cj=cm;
}var cg=ck.getAccountPropertyStr(o+ci+bk,null);

if(cg!=null){ce.addKeyValue(z,cg);
cj=cg;
}}return cj;
},getValidatedEmailAddresses:function(){var co=[];

if(this.emailCheckBox.getValue()){var cp=this.__sK();

if(!this.testFixed&&cp==this.emailTextAreaExample){return co;
}var cn=cp.split(/[\s,;]+/);

for(var i=0,l=cn.length;i<l;i++){var cq=this.validateEmailAddress(cn[i]);

if(cq==null)continue;
co.push(cq);
}}return co;
},validateEmailAddress:function(cr){var cr=cr||null;

if(cr==null){return null;
}cr=org.xmlBlaster.util.trim(cr);

if(cr.indexOf(H)==-1){return null;
}
if(cr.length<5){return null;
}return cr;
},sendTestSmses:function(){var ct=this.getValidatedSmsAddresses();

if(ct.length==0){this.trackGui.errorMsgBox(this.trc(by,x));
return false;
}
for(var i=0,l=ct.length;i<l;i++){var cs=ct[i];

if(this.sendTestSms(cs)==false)return false;
}return true;
},getValidatedSmsAddresses:function(){var cv=[];

if(this.smsCheckBox.getValue()){var cx=this.__sJ();

if(!this.testFixed&&cx==this.smsTextAreaExample){return cv;
}var cw=cx.split(/[\s,;]+/);

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

if(cu==null)continue;
cv.push(cu);
}}return cv;
},validateSmsPhoneNumber:function(cy){if(this.trackGui!=null&&this.trackGui.watchee!=null)return this.trackGui.watchee.validateSmsPhoneNumber(cy);
return cy;
},spiltPhoneNumberPort:function(cz){var cA=cz.indexOf(I);

if(cA!=-1){var cB=null;

if(cA<cz.length)cB=cz.substring(cA+1);
return {phoneNumber:cz.substring(0,cA),port:cB};
}return {phoneNumber:cz,port:null};
},sendTestSms:function(cC){if(!this.trackGui.getSessionProfile().hasPermissionForSmsSending()){this.trackGui.infoMsgBox(this.trc(m,bm));
return false;
}var cD=this.trackGui.watchee.getTopicSmssend(cC);
var cF=p;
var cE=this.spiltPhoneNumberPort(cC);
var cI=new net.watchee.PropertyCollection();
var cJ=new net.watchee.PropertyPair(bu,cE.phoneNumber);
cI.add(cJ);
var cG=this.appendOemInfo(cI);
var cH=this.trc(bn,W,cG);
var cJ=new net.watchee.PropertyPair(g,cH+bv+this.trc(X,w,cE.phoneNumber));

if(cE.port!=null)cJ=new net.watchee.PropertyPair(g,this.j2meCommand);
cI.add(cJ);

if(cE.port!=null){var cJ=new net.watchee.PropertyPair(b,cE.port);
cI.add(cJ);
}var content=cI.toXml();
this.trackGui.watchee.publishContent(cD,content,cF,this.trackGui.returnQosOrException,this.trackGui,bx);
this.trackGui.infoMsgBox(this.trc(m,bj,cC));
},getEventSinksTOFromGui:function(){var cM=[];

if(this.browserCheckBox.getValue()){var cO=new track.rulesmodel.EventSinkTO(this.trackGui,null);
cO.setExpression(p);
cO.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.BROWSER);
cM.push(cO);
}var cK=this.getValidatedEmailAddresses();

for(var i=0,l=cK.length;i<l;i++){var cP=cK[i];
var cO=new track.rulesmodel.EventSinkTO(this.trackGui,null);
cO.setExpression(cP);
cO.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.EMAIL);
cM.push(cO);
}var cN=this.getValidatedSmsAddresses();

for(var i=0,l=cN.length;i<l;i++){var cL=cN[i];
var cO=new track.rulesmodel.EventSinkTO(this.trackGui,null);
cO.setExpression(cL);
cO.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.SMS);
cM.push(cO);
}return cM;
},onChangeSelectedRuleName:function(cQ){this.emailTextArea.setValue(this.emailTextAreaExample);
this.emailCheckBox.setValue(false);
this.smsTextArea.setValue(this.smsTextAreaExample);
this.smsCheckBox.setValue(false);

if(cQ==null){this.groupBox.setEnabled(true);
return;
}var cR=bv;
var cS=p;
var cU=cQ.getEventSinkTOs(net.watchee.EventSinkTypeEnum.EMAIL);

if(cU.length>0){this.emailCheckBox.setValue(true);

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

if(i>0)cS+=cR;
cS+=cV.getExpression();
}
if(cS.length>0){this.emailTextArea.setValue(cS);
}}var cT=p;
var cU=cQ.getEventSinkTOs(net.watchee.EventSinkTypeEnum.SMS);

if(cU.length>0){this.smsCheckBox.setValue(true);

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

if(i>0)cT+=cR;
cT+=cV.getExpression();
}
if(cT.length>0){this.smsTextArea.setValue(cT);
}}},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 s="tooltip",r="Sound Notification",q="label",p="audioName",o="Choose a sound to be played in browser when alarm fires",n="track.rules.SoundNotificationGroup",m="Sound",k="changeValue",j="execute",h="groupbox title",c="audioName=",g="Test",f="22/testSend.png",b="button",a="soundTestButton.enabled",d="Activate to have sound notification in browser when alarm fires";
qx.Class.define(n,{extend:qx.ui.groupbox.GroupBox,include:[qx.locale.MTranslation],construct:function(t){qx.ui.groupbox.GroupBox.call(this);
this.setLegend(this.trc(h,r));
this.setLayout(new qx.ui.layout.HBox(5));
this.trackGui=t;
this.soundCheckBox=null;
this.soundChooser=null;
this.soundTestButton=null;
this.soundTestButtonEnabled=xbProperties.getBoolean(a,true);
this.created=false;
},members:{create:function(u){this.setContentPadding(u||12);
this.soundCheckBox=new qx.ui.form.CheckBox(this.trc(q,m));
this.soundChooser=new track.util.SoundChooser();
this.soundTestButton=new qx.ui.form.Button(this.trc(b,g),xbGetIcon(f));
this.soundCheckBox.setToolTipText(this.trc(s,d));
this.soundChooser.setToolTipText(this.trc(s,o));
this.soundCheckBox.addListener(k,function(e){var v=e.getData();
this.__sL(v);
},this);
this.soundTestButton.addListener(j,function(e){this.soundChooser.playSound();
this.soundTestButton.setEnabled(false);

if(this.soundTestButtonEnabled){qx.event.Timer.once(function(e){this.soundTestButton.setEnabled(true);
},this,1000);
}},this);
this.add(this.soundCheckBox,{flex:2});
this.add(this.soundChooser,{flex:1});
this.add(this.soundTestButton);
this.__sL(false);
this.created=true;
return this;
},__sL:function(w){this.soundCheckBox.setValue(w);
this.soundChooser.setEnabled(w);
this.soundTestButton.setEnabled(this.soundTestButtonEnabled&&w);
},fillEventSinkTOFromGui:function(x){var x=x||null;

if(!this.created||x==null)return x;

if(this.soundCheckBox.getValue()){var y=this.soundChooser.getSelectedSound();
x.setInfo(c+y);
}return x;
},onChangeSelectedRuleTypeEnum:function(z){if(!this.created)return;
},onChangeSelectedRuleName:function(A){if(!this.created)return;
this.soundChooser.reset();
this.__sL(false);

if(A==null){return;
}var B=A.getEventSinkTOs(net.watchee.EventSinkTypeEnum.BROWSER);

if(B.length>0){for(var i=0,l=B.length;i<l;i++){var C=B[i].getInfoMap().get(p,null);
if(C!=null){if(this.soundChooser.setSelectedSound(C))this.__sL(true);
}}}}}});
})();
(function(){var f="audio",e="zoom",d="16/apps/media-audio-player.png",c="splat",b="clickon",a="track.util.SoundChooser";
qx.Class.define(a,{extend:qx.ui.form.SelectBox,construct:function(){qx.ui.form.SelectBox.call(this);
this.ListItemAssozArray=new Object();
this.addSounds([e,c,b]);
},members:{addSounds:function(g){for(var i=0;i<g.length;i++){var h=g[i];
this.ListItemAssozArray[h]=this.__sM(h);
this.add(this.ListItemAssozArray[h]);
}},__sM:function(j){var k=new qx.ui.form.ListItem(j,xbGetQxIcon(d));
k.setUserData(f,j);
return k;
},playSound:function(){net.watchee.playSound(this.getSelectedSoundFull(),this);
},setSelectedSound:function(l){if(this.ListItemAssozArray.hasOwnProperty(l)){this.setSelection([this.ListItemAssozArray[l]]);
return true;
}return false;
},getSelectedSound:function(){return this.getSelection()[0].getUserData(f);
},getSelectedSoundFull:function(){return xbGetSound(this.getSelectedSound());
},reset:function(){this.resetSelection();
}}});
})();
(function(){var n="tooltip",m="</clientProperty>",l="label",k="infoMsgBox",j="errorMsgBox",i="GET",h="type",g="'>",f="<clientProperty name='",d="sendTestRest",br="&lt;",bq="POST",bp="</pre></div>",bo="</p><div style='overflow-x:scroll; overflow-y:scroll; width:500px; height:350px;'><pre>",bn="Choose the HTTP GET method. Defines to transfer the data (key/value pairs) as URL parameters",bm="Please enter a valid REST URI of your server",bl="button",bk="<p style='color:green'>",bj="<p style='color:red'>REST call failed with HTTP status=%1</p><p>Error code: <span style='color:red'>%2</span></p>",bi="URL/FORM parameter",u="<clientProperty name='replyTo'>",v="focus",s="Response from REST:",t="basic",q="Rest Webservice",r="changeValue",o="REST Webservice Call",p="<br /><br /><div style='overflow-x:scroll; overflow-y:scroll; width:500px; height:150px;'><pre>",C=",_httpRequestMethod=+",D="Login name",N="execute",K="msgUnit",V="track.rules.RestWebserviceGroup",Q="16/status/security-high.png",be="TextArea",bb="RestWebServiceGroup",G="<p style='color:red'>REST response timed out after %1 seconds.</p>The service did not respond, please check the URI and if your service is running and reachable",bh="select",bg="Available for enterprise customers only",bf=",_password=",F="middle",I="22/testSend.png",J="Enter an optional password if your REST server expects one",M="Password",O="",R="http://myserver.com/rest?mykey=test",X="Choose the HTTP POST method. Transfer the data (key/value pairs) as form parameters",bd="16/status/security-medium.png",w="_loginName=",x="restsend",H="selct",U="Choose the HTTP authentication schema to use",T="right",S="Will send given login name and password with a 'Basic authentication HTTP header' according to RFC 2617",ba="Calling REST is for enterprise customers only",Y="Please check your REST URL",P="restTestButton.enabled",W="Enter an optional login name if your REST server expects one",a="<p>REST request is send to <br /><code>%1</code></p><ul><li>We wait %2 seconds for the response to arrive</li><li>Check your REST server to see the call</li></ol>",bc="Enter the HTTP URL to contact your REST server",y="red",z="Will append '&_loginName=joe&_password=blabla' to the called URL",L="Enable to transfer alarms automatically to your REST Webservice. The data is transfered as key/value pair, please call the support to get the format description of the keys used",b="param",c="groupbox title",E=",_authScheme=",A="Basic access authentication",B="Test";
qx.Class.define(V,{extend:qx.ui.groupbox.GroupBox,include:[qx.locale.MTranslation],construct:function(bs){qx.ui.groupbox.GroupBox.call(this);
this.setLegend(this.trc(c,q));
this.layout=new qx.ui.layout.Grid(5,5);
this.setLayout(this.layout);
this.trackGui=bs;
this.restCheckBox=null;
this.restTextArea=null;
this.restTextAreaExample=this.trc(be,R);
this.restTestButton=null;
this.restTestButtonEnabled=xbProperties.getBoolean(P,true);
this.created=false;
this.responseTimeoutSec=30;
this.infoBox=null;
this.KEY_BASEURL="_baseUrl";
this.KEY_REMOTE_CLIENT_CLASSNAME="_remoteClientClassName";
this.VALUE_REMOTE_CLIENT_CLASSNAME="net.watchee.queuegateway.rest.RestClient";
this.VALUE_POLLER="POLL";
this.KEY_ACKTOPIC="_ackTopic";
this.TOPICID_QUEUEGATEWAY_RESPONSE="queueGatewayResponse";
this.KEY_REPLY_TO="_replyTo";
this.KEY_ON_ERROR="_onError";
this.VALUE_ON_ERROR_RETRY="RETRY";
this.VALUE_ON_ERROR_INACTIVATE="INACTIVATE";
this.VALUE_ON_ERROR_DROP_MESSAGE="DROP_MESSAGE";
this.KEY_WFGUID="wfguid";
this.KEY_BOUNCEID="bounceId";
this.KEY_BOUNCE="bounce";
this.KEY_LOGINNAME="_loginName";
this.KEY_PASSWORD="_password";
this.KEY_AUTH_SCHEME="_authScheme";
this.KEY_SSL="_ssl";
this.KEY_SSL_PORT="_sslPort";
this.KEY_HTTP_REQUEST_METHOD="_httpRequestMethod";
this.KEY_HTTP_STATUSCODE="_httpStatusCode";
this.KEY_CONTENT="_content";
this.EXCEPTION_ERROR_CODE="exception.errorCode";
this.EXCEPTION_ERROR_MESSAGE="exception.message";
},members:{create:function(bt){this.setContentPadding(bt||12);
this.restCheckBox=new qx.ui.form.CheckBox(this.trc(l,o));
this.restCheckBox.setToolTipText(this.trc(n,L));
this.restCheckBox.addListener(r,function(e){var bz=e.getData();
this.__sN(bz);
},this);
this.restTextArea=new qx.ui.form.TextField(this.restTextAreaExample);
this.restTextArea.setToolTipText(this.trc(n,bc));
this.restTextArea.addListener(v,function(e){if(this.__sO()==this.restTextAreaExample)this.restTextArea.setValue(O);
},this);
var bv=new qx.ui.form.RadioGroup();
this.getRadio=new qx.ui.form.RadioButton(i);
this.getRadio.setToolTipText(this.trc(n,bn));
this.postRadio=new qx.ui.form.RadioButton(bq);
this.postRadio.setToolTipText(this.trc(n,X));
bv.add(this.getRadio);
bv.add(this.postRadio);
this.loginLabel=new qx.ui.basic.Label(this.trc(l,D));
this.loginLabel.setToolTipText(this.trc(n,W));
this.passwdLabel=new qx.ui.basic.Label(this.trc(l,M));
this.passwdLabel.setToolTipText(this.trc(n,J));
this.loginField=new qx.ui.form.TextField();
this.passwdField=new qx.ui.form.TextField();
this.authSchemeSelectBox=new qx.ui.form.SelectBox();
var bu=new qx.ui.form.ListItem(this.trc(H,A),xbGetQxIcon(Q));
bu.setToolTipText(this.trc(n,S));
bu.setUserData(h,t);
var bx=new qx.ui.form.ListItem(this.trc(bh,bi),xbGetQxIcon(bd));
bx.setToolTipText(this.trc(n,z));
bx.setUserData(h,b);
this.authSchemeSelectBox.add(bu);
this.authSchemeSelectBox.add(bx);
this.authSchemeSelectBox.setToolTipText(this.trc(n,U));
this.restTestButton=new qx.ui.form.Button(this.trc(bl,B),xbGetIcon(I));
this.restTestButton.addListener(N,function(e){if(this.trackGui.watchee==null)return;

if(this.sendTestRests()==false)return;
this.restTestButton.setEnabled(false);

if(this.restTestButtonEnabled){qx.event.Timer.once(function(e){this.restTestButton.setEnabled(true);
},this,this.responseTimeoutSec*1000);
}},this);
this.infoLabel=new qx.ui.basic.Label(this.trc(l,bg));
this.infoLabel.setTextColor(y);
var by=0;
this.add(this.restCheckBox,{row:by,column:0,colSpan:3});
this.add(this.getRadio,{row:by,column:3});
this.add(this.postRadio,{row:by++,column:4});
this.add(this.restTextArea,{row:by++,column:0,colSpan:5});
this.add(this.loginLabel,{row:by,column:0});
this.add(this.loginField,{row:by,column:1});
this.add(this.authSchemeSelectBox,{row:by++,column:2,colSpan:2});
this.add(this.passwdLabel,{row:by,column:0});
this.add(this.passwdField,{row:by,column:1});
this.add(this.restTestButton,{row:(by-1),column:4,rowSpan:2});
by++;
this.add(this.infoLabel,{row:by++,column:0,colSpan:5});
this.layout.setRowFlex(1,1);
this.layout.setColumnFlex(2,1);
this.layout.setColumnAlign(4,T,F);
var bw=1;
this.restCheckBox.setTabIndex(bw++);
this.getRadio.setTabIndex(bw++);
this.postRadio.setTabIndex(bw++);
this.restTextArea.setTabIndex(bw++);
this.loginField.setTabIndex(bw++);
this.passwdField.setTabIndex(bw++);
this.authSchemeSelectBox.setTabIndex(bw++);
this.restTestButton.setTabIndex(bw++);
this.__sN(false);
this.created=true;
return this;
},__sN:function(bA){this.info("restCheckBox "+bA);
this.restCheckBox.setValue(bA);
this.restTextArea.setEnabled(bA);
this.restTestButton.setEnabled(this.restTestButtonEnabled&&bA);
this.getRadio.setEnabled(bA);
this.postRadio.setEnabled(bA);
this.loginLabel.setEnabled(bA);
this.loginField.setEnabled(bA);
this.authSchemeSelectBox.setEnabled(bA);
this.passwdLabel.setEnabled(bA);
this.passwdField.setEnabled(bA);
},__sO:function(){var bB=400;
var bC=this.restTextArea.getValue();
bC=org.xmlBlaster.util.trim(bC);

if(bC.length>bB){bC=bC.substring(0,bB);
bC=org.xmlBlaster.util.trim(bC);
this.restTextArea.setValue(bC);
}return bC;
},__sP:function(){if(this.getRadio.isValue())return i;
else if(this.postRadio.isValue())return bq;
else return i;
},sendTestRests:function(){if(!this.trackGui.getSessionProfile().hasPermissionForRestSending()){this.trackGui.infoMsgBox(this.trc(k,ba));
return false;
}var bH=this.trackGui.getMyAbsoluteSessionNameStr();
var bM=this.trackGui.getBounceNextVal(bb);
var bD=x;
var bI=new net.watchee.PropertyCollection();
var bG=this.__sO();

if(bG==null||bG.length<5){this.trackGui.infoMsgBox(this.trc(k,bm));
return false;
}var bK=new net.watchee.PropertyPair(this.KEY_BASEURL,bG);
bI.add(bK);
var bE=this.loginField.getValue();
var bL=this.passwdField.getValue();

if(bE&&bE.length>0){var bK=new net.watchee.PropertyPair(this.KEY_LOGINNAME,bE);
bI.add(bK);

if(bL&&bL.length>0){var bK=new net.watchee.PropertyPair(this.KEY_PASSWORD,bL);
bI.add(bK);
}}var bK=new net.watchee.PropertyPair(this.KEY_HTTP_REQUEST_METHOD,this.__sP());
bI.add(bK);
var bK=new net.watchee.PropertyPair(this.KEY_ACKTOPIC,this.TOPICID_QUEUEGATEWAY_RESPONSE);
bI.add(bK);
var bK=new net.watchee.PropertyPair(this.KEY_WFGUID,org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(null,true,true));
bI.add(bK);
var bK=new net.watchee.PropertyPair(this.KEY_BOUNCE,bM);
bI.add(bK);
var bK=new net.watchee.PropertyPair(this.KEY_REPLY_TO,bH);
bI.add(bK);
var bK=new net.watchee.PropertyPair(this.KEY_ON_ERROR,this.VALUE_ON_ERROR_DROP_MESSAGE);
bI.add(bK);
var content=bI.toXml();
var bJ=org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_PROPERTYCOLLECTION;
var bF=u+org.xmlBlaster.util.escapeXml(bH)+m+f+this.KEY_BOUNCE+g+org.xmlBlaster.util.escapeXml(bM)+m+f+org.xmlBlaster.util.escapeXml(this.KEY_BASEURL)+g+org.xmlBlaster.util.escapeXml(bG)+m+f+this.KEY_REMOTE_CLIENT_CLASSNAME+g+org.xmlBlaster.util.escapeXml(this.VALUE_REMOTE_CLIENT_CLASSNAME)+m;
this.trackGui.getRequestResponseDispatcher().registerRequest(bM,this.responseTimeoutSec,this.onRestResponse,this,d,false);
this.trackGui.watchee.publishContent(bD,content,bF,this.trackGui.returnQosOrException,this.trackGui,d,bJ);
this.infoBox=this.trackGui.ajaxMsgBox(this.trc(k,a,bG,this.responseTimeoutSec));
return true;
},closeInfoBox:function(){if(this.infoBox!=null){try{this.infoBox.close();
this.trackGui.getMyRoot().remove(this.infoBox);
this.infoBox=null;
}catch(bN){;
}}},onRestResponse:function(bO,bP,bQ){this.closeInfoBox();
this.restTestButton.setEnabled(true);

if(bO!=null){var bV=bO.getProp(K).getValueRaw();
var bT=bV.getQosData().getClientProperty(this.EXCEPTION_ERROR_CODE,null);
var bS=bV.getQosData().getClientProperty(this.EXCEPTION_ERROR_MESSAGE,null);
var bU=bV.getQosData().getClientProperty(this.KEY_HTTP_STATUSCODE,0);

if(bT==null){var bR=this.trc(k,s);
var content=bV.getContentStr();
content=content.replace(/</g,br);
this.trackGui.infoMsgBox(bk+bR+bo+content+bp);
}else{var bR=this.trc(j,bj,bU,bT);
content=bS.replace(/</g,br);
this.trackGui.errorMsgBox(bR+p+content+bp);
}}else{this.trackGui.errorMsgBox(this.trc(j,G,this.responseTimeoutSec));
}},getEventSinksTOFromGui:function(){var ca=[];

if(!this.created)return ca;

if(this.restCheckBox.getValue()){var bX=this.__sO();

if(bX!=null&&bX.length>8){var bW=this.loginField.getValue();
var cc=this.passwdField.getValue();
var bY=this.authSchemeSelectBox.getSelection()[0].getUserData(h);
var cb=new track.rulesmodel.EventSinkTO(this.trackGui,null);
cb.setExpression(bX);
cb.setEventSinkTypeEnum(net.watchee.EventSinkTypeEnum.REST);
cb.setInfo(w+bW+bf+cc+C+this.__sP()+E+bY);
ca.push(cb);
}else{this.trackGui.errorMsgBox(this.trc(j,Y));
}}return ca;
},onChangeSelectedRuleTypeEnum:function(cd){if(!this.created)return;
},onChangeSelectedRuleName:function(ce){if(!this.created)return;
this.restTextArea.setValue(this.restTextAreaExample);
this.__sN(false);
}}});
})();
(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(h,j){qx.core.Object.call(this);
this.trackGui=h;

if(org.xmlBlaster.util.isDefined(j)){this.propertyCollections=j;
this.ruleTOArray=this.__sQ(this.propertyCollections);
}else{this.propertyCollections=new net.watchee.PropertyCollections();
this.ruleTOArray=[];
}},members:{__sQ:function(k){var o=[];
var p=null;
var m=k.getPropertyCollections();

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

if(f==n.getClazz()){p=new track.rulesmodel.RuleTO(this.trackGui,n);
o.push(p);
}else if(b==n.getClazz()){p.setGeofenceTO(new track.rulesmodel.GeofenceTO(this.trackGui,n));
}else if(a==n.getClazz()){p.addFilterPC(n);
}else if(c==n.getClazz()){p.addEventSinkPC(n);
}else if(d==n.getClazz()){p.addRuleAccountRelationPC(n);
}}return o;
},lookupRuleTOByRuleName:function(q){var q=q||null;

if(q==null||q==e)return null;

for(var i=0,l=this.ruleTOArray.length;i<l;i++){var r=this.ruleTOArray[i];

if(q==r.getRuleName())return r;
}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 k="",j="info",i="geoType",h="name",g="SQUARE",f="coordinates",e="track.rulesmodel.GeofenceTO",d="creationTs",c="loginName",b="modifiedTs",a="Geofence";
qx.Class.define(e,{extend:qx.core.Object,construct:function(l,m){qx.core.Object.call(this);
this.trackGui=l;

if(org.xmlBlaster.util.isDefined(m)){this.propertyCollection=m;
this.coordinates=net.watchee.Coordinates.parseKmlStr(this.propertyCollection.getStr(f,k));
}else{this.propertyCollection=new net.watchee.PropertyCollection(a);
this.coordinates=new net.watchee.Coordinates();
}},members:{getName:function(){return this.propertyCollection.getStr(h,k);
},setName:function(name){this.propertyCollection.addKeyValue(h,name);
},getGeoType:function(){return this.propertyCollection.getStr(i,g);
},setGeoType:function(n){this.propertyCollection.addKeyValue(i,n);
},isGeoTypeSquare:function(){return g==this.getGeoType();
},getCoordinates:function(){return this.coordinates;
},getKmlStr:function(){return this.coordinates.toKmlStr();
},setCoordinatesKmlStr:function(o){delete this.coordinates;
this.coordinates=net.watchee.Coordinates.parseKmlStr(o);
},appendCoordinate:function(p){this.coordinates.append(p);
},getInfo:function(){return this.propertyCollection.getStr(j,k);
},setInfo:function(q){this.propertyCollection.addKeyValue(j,q);
},getPropertyCollection:function(){this.propertyCollection.addKeyValue(f,this.coordinates.toKmlStr());
return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(d,k);
},getModifiedTs:function(){return this.propertyCollection.getStr(b,k);
},getLoginName:function(){return this.propertyCollection.getStr(c,k);
}},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 m="16/statistic.png",l="Statistic Report",k="click",j="MissingStatisticCaption",i="track.statistic.StatisticWindow",h="MissingIcon",g="useReverseGeocodeInStatistik",f="supportsTableSelections",d="window title",c="close";
var a=40;
var b=20;
qx.Class.define(i,{extend:track.util.WindowWithHelpIcon,construct:function(n){track.util.WindowWithHelpIcon.call(this,j,h,n);
this.trackGui=n;
this.setUseMoveFrame(true);
this.setResizable(false);
this.setLayout(new qx.ui.layout.Canvas());
this.setCaption(this.trc(d,l));
this.setIcon(xbGetIcon(m));
this.setMinWidth(914);
this.addListener(c,function(e){this.clear();
},this);
},members:{getStatisticWindowTop:function(){if(a>200)a=100;
a+=25;
return a;
},getStatisticWindowLeft:function(){if(b>350)b=250;
b+=25;
return b;
},createStatisticWindow:function(){this.supportsTableSelections=xbProperties.getBoolean(f,false);
this.timeplotGroup=new track.statistic.TimeplotGroup(this.trackGui,this);
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(k,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);
},useReverseGeocodeInStatistik:function(){var o=xbProperties.getBoolean(g,true);
return o;
},onPostOpen:function(){if(this.timeplotGroup!=null){this.timeplotGroup.onPostOpen();
}},setWindowSize:function(p,q){this.setWidth(p);
this.setHeight(q);
},clear:function(){this.timeplotGroup.clear();
},destroyPopup:function(){this.trackGui.getMyRoot().remove(this);

try{this.clear();
}catch(r){this.error("StatisticWindow.js destroyPopup failed: "+r);
}this.close();
this.trackGui=null;
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var k="Label",j="red",h="errorMsgBox",g="",f="-",e="Get locations failed",d="Please choose a device.",c=":filter/startTimestamp",b="Get locations timeout, no data to show",a="info box",I="application/watchee.service.track.tracklist/enmea",H="statisticTimeplot.load",G="Received %1",F="No tracking data found in the given time range",E="AjaxAnimator",D="statisticTimeplot.loginName",C=":filter/limit",B="track.statistic.TimeplotGroup",A="statisticTimeplot.timestampStart",z="statisticTimeplot.yAxis",s="Get locations",t="getLocations",q="statisticWindow.table.visible",r="statisticTimeplot.timestampEnd",o="Loading ...",p="\n",m=":loginName",n="statisticWindow.maxValuesLoad",u="Get locations timeout",v="No tracking data found",x=":filter/endTimestamp",w="infoMsgBox",y="Get locations failed: %1 %2";
qx.Class.define(B,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(J,K){qx.core.Object.call(this);
this.trackGui=J;
this.statisticWindow=K;
this.groupBox=null;
this.filterView=null;
this.averageView=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(L){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 M=this.timeplotView.createDivParent();
M.exclude();
this.groupBox.add(M);
this.averageView=new track.statistic.AverageView(this.trackGui,this.statisticWindow,this);
this.averageView.exclude();
this.groupBox.add(this.averageView);
this.historyTableView=new track.statistic.HistoryTableView(this.trackGui,this.statisticWindow,this);
this.historyTable=this.historyTableView.createTable();
var N=xbProperties.getBoolean(q,true);

if(!N)this.historyTable.exclude();
this.groupBox.add(this.historyTable);
return this.groupBox;
},onPostOpen:function(){this.filterView.refreshButton.setEnabled(true);
var R=this.setFromUrlParameter(true);
var P=!R&&!this.firstLoadDone;

if(P){this.timeplotView.createTimeplot(P);
}else{this.timeplotView.clear();
qx.event.Timer.once(this.timeplotView.createTimeplot,this.timeplotView,100);
var O=this.filterView.getStartDate();
var Q=this.filterView.getEndDate();
this.historyTableView.loadDataFromCacheAsync(this.timeplotDataCacheInfo,O,Q);
this.averageView.loadDataFromCache(this.timeplotDataCacheInfo,O,Q);
}},onTimeplotIsInitialized:function(){var S=this.setFromUrlParameter(true);

if(xbProperties.getBoolean(H,S)){qx.event.Timer.once(this.loadStatistic,this,2000);
}},setFromUrlParameter:function(T){if(this.firstLoadDone)return false;
var T=(T==undefined)?true:T;
var V=xbProperties.getStr(D,null);

if(V!=null){this.loadedFromUrlParameter=true;
}var U=xbProperties.getDate(A,null);

if(U!=null){this.loadedFromUrlParameter=true;
}var X=xbProperties.getDate(r,null);

if(X!=null){this.loadedFromUrlParameter=true;
}var W=xbProperties.getStr(z,null);

if(W!=null){this.loadedFromUrlParameter=true;
}this.firstLoadDone=true;
if(this.loadedFromUrlParameter&&T){this.setQueryData(V,U,X,W);
}return this.loadedFromUrlParameter;
},loadStatistic:function(){var ba=this.filterView.destinationsSelectBox.getSelectedLoginName();

if(ba==null||ba==g){this.trackGui.errorMsgBox(this.trc(a,d));
return;
}var Y=this.filterView.getStartDate();
var bb=this.filterView.getEndDate();

if(this.hasDataCached(ba,Y,bb)){this.loadDataFromCache(Y,bb);
}else{this.sendGetLocations(ba,Y,bb);
}},sendGetLocations:function(bc,bd,be){this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetLocations with watchee is null");
var bh=org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(bd,false,true);
var bm=org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(be,false,true);
this.setCacheStartEnd(this.filterView.getSelectedDevice(),bd,be);
var bk=org.xmlBlaster.util.PropTO;
var bi=this.trackGui.getRequestResponseDispatcher();
var bn=bk.VALUE_TASK_NAMED_GETLOCATIONS+f+bi.getRequestIdNextVal();
var bg=new Array();
bg.push(new bk(bk.KEY_SERVICENAME,bk.VALUE_SERVICE_TRACK));
bg.push(new bk(bk.KEY_TASK,bk.VALUE_TASK_NAMED_GETLOCATIONS));
bg.push(new bk(bk.KEY_DATA+m,bc));
bg.push(new bk(bk.KEY_DATA+c,bh));
bg.push(new bk(bk.KEY_DATA+x,bm));
var bj=xbProperties.getInt(n,2000);
bg.push(new bk(bk.KEY_DATA+C,bj));
bg.push(new bk(bk.KEY_RESULTMIME,I));
bg.push(new bk(bk.KEY_BOUNCE,bn));
var bf=new org.xmlBlaster.util.ServiceTO(bg);
var bl=new org.xmlBlaster.util.ServiceListTO(bf);
this.trackGui.startAjaxAnimator(this.trc(E,s),4000);
bi.registerRequest(bn,120,this.onGetLocations,this,g);
this.watchee.publishServiceMessage(bl,this.trackGui.returnQosOrException,this.trackGui,t);
this.filterView.refreshButton.setEnabled(false);
this.filterView.setStatusLabelValue(this.trc(k,o));
},onGetLocations:function(bo,bp,bq){this.trackGui.stopAjaxAnimator();

if(bo==null){this.filterView.setStatusLabelValue(this.trc(k,u),j);
this.trackGui.errorMsgBox(this.trc(h,b));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}if(bo.isException()){this.filterView.setStatusLabelValue(this.trc(k,e),j);
this.trackGui.errorMsgBox(this.trc(h,y,bo.getBounce(),bo.getErrorMessage()));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}var br=bo.getPropValue(org.xmlBlaster.util.PropTO.KEY_RESULT);

if(br==null||br.length==0){this.filterView.setStatusLabelValue(this.trc(k,v),j);
this.trackGui.infoMsgBox(this.trc(w,F));
this.onEnmeaArray([]);
this.filterView.refreshButton.setEnabled(true);
return;
}var bs=br.split(p);
this.filterView.setStatusLabelValue(this.trc(k,G,bs.length));
this.onEnmeaArray(bs);
this.filterView.refreshButton.setEnabled(true);
},setCacheStartEnd:function(bt,bu,bv){this.timeplotDataCacheInfo.device=bt;
this.timeplotDataCacheInfo.startDate=bu;
this.timeplotDataCacheInfo.endDate=bv;
},hasDataCached:function(bw,bx,by){if(this.timeplotDataCacheInfo==null||this.timeplotDataCacheInfo.startDate==null||this.timeplotDataCacheInfo.endDate==null||bx==null||by==null)return false;

if(this.timeplotDataCacheInfo.device.getDeviceId()==bw&&this.timeplotDataCacheInfo.startDate.getTime()<=bx.getTime()&&this.timeplotDataCacheInfo.endDate.getTime()>=by.getTime())return true;
return false;
},onEnmeaArray:function(bz){this.timeplotDataCacheInfo.gpsDataArr=[];

for(var i=0,l=bz.length;i<l;i++){var bA=bz[i];
var bB=new net.watchee.GPSData(bA,this.timeplotDataCacheInfo.device);
this.timeplotDataCacheInfo.gpsDataArr.push(bB);
}this.loadDataFromCache(null,null);
},loadDataFromCache:function(bC,bD){this.timeplotView.loadDataFromCache(this.timeplotDataCacheInfo,bC,bD);
this.historyTableView.loadDataFromCacheAsync(this.timeplotDataCacheInfo,bC,bD);
this.averageView.loadDataFromCache(this.timeplotDataCacheInfo,bC,bD);
},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(bE){this.filterView.setStatusLabelValue(bE);
},getSelectedDevice:function(){return this.filterView.getSelectedDevice();
},getSelectedYAxis:function(){return this.filterView.getSelectedYAxis();
}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var p="yAxis",o="listItem",n="top",m="",k="label",j="checkbox",h="left",g="changeValue",f="exportFormat",d="button",bG="execute",bF="/",bE="_",bD='">',bC="BLABLA",bB="export:kmlPlacemarks",bA="Address",bz="changeSelection",by="kmh",bx="csv",w="Device",x='<input type="hidden" name="_password" value="">',u='<input type="hidden" name="export:localeQoox" value="',v="22/speed.png",s="h",t="track.statistic.FilterView",q="Please choose a device.",r="statisticWindow.average.visible",E="green",F="22/course.png",Y="Speed and Height",U="Start Date",bh="input",bc="22/height2.png",bt="Speed km/h",bn="combo",N="_blank",bw="statisticWindow.diagram.visible",bv="info box",bu="/io/rest/stat/",L="type",Q="22/course2.png",S="statisticWindow.address.visible",W="downloadFormPOST",ba="Height in m",bd="Export",bj='<form id="downloadFormPOST" action="" method="post" accept-charset="UTF-8" target="_blank">',bp="Diagram",y="End Date",z=":",P="22/chart.png",bg="Speed, Height and Course",bf='<input type="hidden" name="export:timezoneOffsetMinutes" value="',be="Y-Axis",bl="Course in °",bk="Table",bb="exportAdditional",bi="KML",a="Load",bo="true",A="medium",B="false",V="right",b="statisticWindow.table.visible",c="Resize",K="name",C="22/speed2.png",D="course",J='</form>',X="?_loginName=k320i&_password=secret",br="22/download.png",bq="Average",R="CSV",bs='<input type="hidden" name="_loginName" value="">',M="kml",bm="all",G="hidden",I=".",O='<input type="hidden" name="export:locale" value="',T="id",H="value";
qx.Class.define(t,{extend:qx.ui.container.Composite,construct:function(bH,bI,bJ){qx.ui.container.Composite.call(this);
this.trackGui=bH;
this.statisticWindow=bI;
this.timeplotGroup=bJ;
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 bO=false;
var bK=0;
var bL=1;
var cp=0;
var cq=1;
var cn=2;
var co=3;
var cl=4;
var cm=5;
var cj=6;
var ck=7;
var ch=8;
var ci=9;
this.layout.setColumnAlign(cp,h,n);
this.layout.setColumnAlign(cq,h,n);
this.layout.setColumnAlign(cn,h,n);
this.layout.setColumnAlign(co,h,n);
this.layout.setColumnWidth(cp,180);
this.layout.setColumnWidth(co,180);
this.layout.setColumnAlign(cm,h,n);
this.layout.setColumnWidth(cj,60);
this.layout.setColumnWidth(ch,20);
this.add(new qx.ui.basic.Label(this.trc(k,w)),{row:bK,column:cp});
var bR=true;
this.destinationsSelectBox=new track.util.BuddySelectBox(this.trackGui,this,bR);
this.add(this.destinationsSelectBox,{row:bL,column:cp});
this.destinationsSelectBox.addDevicesListener(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY);
this.destinationsSelectBox.addListener(bz,function(e){if(this.programmaticSetSelected)return ;
var cv=(e.getData().length==0)?null:e.getData()[0];

if(cv==null)return ;
},this);
var bS=qx.locale.Date.getDateFormat(A,qx.locale.Manager.getInstance().getLocale());
var bU=new qx.util.format.DateFormat(bS);
this.add(new qx.ui.basic.Label(this.trc(k,U)),{row:bK,column:cq});
this.dateFieldStart=new track.util.DateTimePicker();
this.dateFieldStart.setDateFormat(bU);
var ca=new Date();
var bQ=ca.getTime()-(24*60*60*1000);
ca.setTime(bQ);
ca.setHours(0);
ca.setMinutes(0);
ca.setSeconds(0);

if(bO)ca=new Date(2007,9,19,8,43,0);
this.dateFieldStart.setValue(ca);
this.add(this.dateFieldStart,{row:bL,column:cq});
this.add(new qx.ui.basic.Label(this.trc(k,y)),{row:bK,column:cn});
this.dateFieldEnd=new track.util.DateTimePicker();
this.dateFieldEnd.setDateFormat(bU);
var bX=new Date();
if(bO)bX=new Date(2007,9,19,8,44,0);
this.dateFieldEnd.setValue(bX);
this.add(this.dateFieldEnd,{row:bL,column:cn});
this.labelHBox=new qx.ui.container.Composite(new qx.ui.layout.HBox());
var bT=new qx.ui.basic.Label(this.trc(k,be));
this.labelHBox.add(bT);
this.add(this.labelHBox,{row:bK,column:co});
this.ySelectBox=new qx.ui.form.SelectBox();
this.add(this.ySelectBox,{row:bL,column:co});
var ct=new qx.ui.form.ListItem(this.trc(o,bt),xbGetIcon(C));
ct.setUserData(p,by);
this.__sR(this.ySelectBox,ct);
var cb=new qx.ui.form.ListItem(this.trc(o,ba),xbGetIcon(bc));
cb.setUserData(p,s);
this.__sR(this.ySelectBox,cb);
var cf=new qx.ui.form.ListItem(this.trc(o,bl),xbGetIcon(Q));
cf.setUserData(p,D);
this.__sR(this.ySelectBox,cf);
var cs=new qx.ui.form.ListItem(this.trc(o,Y),xbGetIcon(v));
cs.setUserData(p,bn);
this.__sR(this.ySelectBox,cs);
var bW=new qx.ui.form.ListItem(this.trc(o,bg),xbGetIcon(F));
bW.setUserData(p,bm);
this.__sR(this.ySelectBox,bW);
this.ySelectBox.addListener(bz,function(e){if(this.programmaticSetSelected)return ;
var cw=(e.getData().length==0)?null:e.getData()[0];

if(cw==null)return ;

if(this.timeplotGroup.timeplotView!=null){this.timeplotGroup.timeplotView.changedWantedYAxis(cw.getUserData(p));
}},this);
this.refreshButton=new qx.ui.form.Button(this.trc(d,a),xbGetQxIcon(P));
this.add(this.refreshButton,{row:bL,column:cl});
this.refreshButton.addListener(bG,function(e){this.timeplotGroup.loadStatistic();
},this);
var cr=xbProperties.getBoolean(S,false);
this.showAddressCheckBox=new qx.ui.form.CheckBox(this.trc(j,bA));
this.showAddressCheckBox.setValue(cr);
this.showAddressCheckBox.addListener(g,function(e){var cx=e.getData();

if(this.timeplotGroup.historyTableView==null)return;
this.timeplotGroup.historyTableView.onShowGpsAddress(cx);
},this);

if(this.statisticWindow.useReverseGeocodeInStatistik()){this.add(this.showAddressCheckBox,{row:bK,column:cm});
}var cu=new qx.ui.container.Composite(new qx.ui.layout.VBox());
var bP=xbProperties.getBoolean(bw,false);
this.showDiagramCheckBox=new qx.ui.form.CheckBox(this.trc(j,bp));
this.showDiagramCheckBox.setValue(bP);
cu.add(this.showDiagramCheckBox);
this.showDiagramCheckBox.addListener(g,function(e){var cy=e.getData();

if(this.timeplotGroup.timeplotView==null)return;
this.timeplotGroup.timeplotView.onCheckboxVisible(cy);
},this);
var bV=xbProperties.getBoolean(r,false);
this.showAverageCheckBox=new qx.ui.form.CheckBox(this.trc(j,bq));
this.showAverageCheckBox.setValue(bV);
cu.add(this.showAverageCheckBox);
this.showAverageCheckBox.addListener(g,function(e){var cz=e.getData();

if(this.timeplotGroup.averageView==null)return;
this.timeplotGroup.averageView.onCheckboxVisible(cz);
},this);
var cg=xbProperties.getBoolean(b,true);
this.showTableCheckBox=new qx.ui.form.CheckBox(this.trc(j,bk));
this.showTableCheckBox.setValue(cg);
cu.add(this.showTableCheckBox);
this.showTableCheckBox.addListener(g,function(e){var cA=e.getData();

if(this.timeplotGroup.historyTableView==null)return;
this.timeplotGroup.historyTableView.onCheckboxVisible(cA);
},this);
this.add(cu,{row:bL,column:cm});
this.exportFormatSelectBox=new qx.ui.form.SelectBox();
this.add(this.exportFormatSelectBox,{row:bL,column:cj});
var bY=new qx.ui.form.ListItem(this.trc(o,R));
bY.setUserData(f,bx);
this.__sR(this.exportFormatSelectBox,bY);
var cc=new qx.ui.form.ListItem(this.trc(o,bi));
cc.setUserData(f,M);
this.__sR(this.exportFormatSelectBox,cc);
this.exportButton=new qx.ui.form.Button(this.trc(d,bd),xbGetIcon(br));
this.add(this.exportButton,{row:bL,column:ck});
var bM=44;
this.destinationsSelectBox.setMaxHeight(bM);
this.ySelectBox.setMaxHeight(bM);
this.refreshButton.setMaxHeight(bM);
this.exportFormatSelectBox.setMaxHeight(bM);
this.exportButton.setMaxHeight(bM);
this.setMaxHeight(bM+20);
this.setAlignY(n);
var bN=bj+
bs+
x+
bf+
org.xmlBlaster.util.getTimezoneOffsetMinutes()+
bD+
O+
org.xmlBlaster.util.getLocaleIdJava()+
bD+
u+
qx.locale.Manager.getInstance().getLocale()+
bD+J;
var cd=new qx.ui.embed.Html(bN);
this.add(cd,{row:bL,column:ch});
this.exportButton.addListener(bG,function(e){if(this.trackGui.watchee==null)return;
var cC=this.destinationsSelectBox.getSelectedLoginName();

if(cC==null||cC==m){this.trackGui.errorMsgBox(this.trc(bv,q));
return;
}var cJ=this.getSelectedExportFormat();
var cI=this.getSelectedExportAdditional();
var cB=this.getStartTimestampUtcT();
var cD=this.getEndTimestampUtcT();
var cH=bu+cC+bF+cB+bF+cD+bF;
var cF=cC+bE+cB+bE+cD+I+cJ;
cF=org.xmlBlaster.util.replaceAllTokens(cF,z,bE);
var cG=cH+cF;
var cE=false;

if(cE){cG+=X;
window.open(cG,N);
}else{var cK=window.document.getElementById(W);
cK._loginName.value=this.trackGui.getMyLoginName();
cK._password.value=this.trackGui.getMyPassword();

if(cI!=null)this.createNewFormElement(cK,bB,B);
else this.createNewFormElement(cK,bB,bo);
cK.action=cG;
cK.submit();
}},this);
var ce=false;

if(ce){this.ruleNameTextField=new qx.ui.form.TextField(m);
this.add(this.ruleNameTextField,{row:bK,column:ci});
this.deleteButton=new qx.ui.form.Button(this.trc(d,c));
this.add(this.deleteButton,{row:bL,column:ci});
this.deleteButton.addListener(bG,function(e){var cL=org.xmlBlaster.util.toNumber(this.ruleNameTextField.getValue(),200);
alert("Setting height="+cL);
this.statisticWindow.setMaxHeight(cL);
},this);
}this.statusLabel=new qx.ui.basic.Label(this.trc(k,m));
{this.statusLabel.setTextAlign(V);
this.labelHBox.add(new qx.ui.core.Spacer(40));
this.labelHBox.add(this.statusLabel);
};
return this;
},createNewFormElement:function(cM,cN,cO){var cP=null;

for(var i=0;i<cM.elements.length;i++){if(cM.elements[i].id==bC){cP=cM.elements[i];
break;
}}
if(cP==null){var cP=document.createElement(bh);
cP.setAttribute(L,G);
cP.setAttribute(T,bC);
cP.setAttribute(K,cN);
cP.setAttribute(H,cO);
cM.appendChild(cP);
}else{cP.value=cO;
}return cP;
},setShowDiagramCheckBoxEnabled:function(cQ){this.showDiagramCheckBox.setEnabled(cQ);
},setStatusLabelValue:function(cR,cS){var cS=cS||E;
this.statusLabel.setTextColor(cS);
this.statusLabel.setValue(cR);
},setAddressLabel:function(cT,cU){var cU=cU||null;
var cT=cT||this.trc(j,bA);

if(cU==null){this.showAddressCheckBox.resetTextColor();
this.showAddressCheckBox.resetBackgroundColor();
}else{this.showAddressCheckBox.setTextColor(cU);
}this.showAddressCheckBox.setLabel(cT);
},setQueryData:function(cV,cW,cX,cY){if(this.destinationsSelectBox==null)return;
var cV=cV||null;
var cW=cW||null;
var cX=cX||null;
var cY=cY||null;

if(cV!=null){this.destinationsSelectBox.selectLoginName(cV);
}
if(cW!=null){this.dateFieldStart.setValue(cW);
}
if(cX!=null){this.dateFieldEnd.setValue(cX);
}
if(cY!=null){var da=this.selectYAxis(cY);
}return;
},getStartDate:function(){return this.dateFieldStart.getValue();
},getStartTimestampUtcT:function(){var db=this.getStartDate();

if(db==null)return m;
return org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(db,false);
},getEndDate:function(){var dc=this.dateFieldEnd.getValue();
return dc;
},getEndTimestampUtcT:function(){var dd=this.getEndDate();

if(dd==null)return m;
return org.xmlBlaster.util.getCurrentIsoGmtTimestampStr(dd,false);
},__sR:function(de,df){this.programmaticSetSelected=true;
de.add(df);
this.programmaticSetSelected=false;
},selectYAxis:function(dg){var dh=this.__sS(dg);

if(dh!=null)this.ySelectBox.setSelection([dh]);
return dh;
},__sS:function(di){var di=di||null;

if(di==null)return null;
var dk=this.ySelectBox.getChildren();

for(var i=0,l=dk.length;i<l;i++){var dl=dk[i];
var dj=dl.getUserData(p);

if(dj==di)return dl;
}return null;
},getSelectedYAxis:function(){var dm=this.ySelectBox.getSelection()[0];

if(dm==null)return by;
return dm.getUserData(p);
},getSelectedExportFormat:function(){var dn=this.exportFormatSelectBox.getSelection()[0];

if(dn==null)return bx;
return dn.getUserData(f);
},getSelectedExportAdditional:function(){var dp=this.exportFormatSelectBox.getSelection()[0];

if(dp==null)return null;
return dp.getUserData(bb);
},getSelectedDevice:function(){var dq=this.destinationsSelectBox.getSelectedBuddyTO();

if(dq==null)return null;
return dq.getDevice();
},getSelectedBuddyTO:function(){return this.destinationsSelectBox.getSelectedBuddyTO();
},getSelectedLoginName:function(){return this.destinationsSelectBox.getSelectedLoginName();
},clear:function(){}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var g="buddyTO",f="updateFriendOfListenerFunc",e="onlineStatusListenerFunc",d="updateFriendOf",c="changed",b="track.util.BuddySelectBox",a="";
qx.Class.define(b,{extend:qx.ui.form.SelectBox,construct:function(h,j,k){qx.ui.form.SelectBox.call(this);
this.trackGui=h;
this.parentWindow=j;
this.programmaticSetSelected=false;
this.buddyChangedEventFunc=null;
this.onlyBuddiesWithHardware=(k==undefined)?false:k;
},members:{addDevicesListener:function(m){this.buddyChangedEventFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(c,function(n){this.__sT();
},this);
this.__sT();
},__sT:function(){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().buddiesInboundIsSet)return;
var o=o||net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY;
var q=this.trackGui.watchee.getBuddyManager().getFriendOfList(o);
this.removeAll();
var t=this.trackGui.watchee.getAccountTO().getBuddyTO();
var s=this.__sU(t);

if(s!=null){this.add(s);
this.setSelection([s]);
}
for(var i=0,l=q.length;i<l;i++){var p=q[i];
var r=this.__sU(p);

if(r!=null){this.add(r);
}}},__sU:function(u){if(this.onlyBuddiesWithHardware){if(!u.getDeviceInfo().hasTrackerConfigured()){return null;
}}var x=new qx.ui.form.ListItem(u.getAliasAndLoginName(),u.getAvatarIconUrl(),u.getLoginName());
var v=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(y){if(y.getData().loginName==x.getModel())x.setIcon(y.getData().buddyTO.getAvatarIconUrl());
},this);
x.setUserData(e,v);
var w=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(d,function(z){if(z.getData().buddyTO.getLoginName()==x.getModel())x.setIcon(z.getData().buddyTO.getAvatarIconUrl());
},this);
x.setUserData(f,w);
x.setUserData(g,u);
return x;
},getSelectedBuddyTO:function(){var A=this.getSelection()[0];

if(A==null)return null;
return A.getUserData(g);
},getSelectedLoginName:function(){var B=this.getSelection()[0];

if(B==null)return a;
return B.getModel();
},__sV:function(C){var C=C||null;

if(C==null)return null;
var E=this.getChildren();

for(var i=0,l=E.length;i<l;i++){var F=E[i];
var D=F.getModel();

if(D==C)return F;
}return null;
},selectLoginName:function(G){var H=this.__sV(G);

if(H!=null)this.setSelection([H]);
},__sW:function(I,J){this.programmaticSetSelected=true;
I.add(J);
this.programmaticSetSelected=false;
},clear:function(){if(this.buddyChangedEventFunc!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(c,this.buddyChangedEventFunc);
this.buddyChangedEventFunc=null;
}var K=this.getChildren();

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

if(L!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,L.getUserData(e));
this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(d,L.getUserData(f));
return L;
}}this.removeAll();
}},destruct:function(){}});
})();
(function(){var ca=",",bY="Label",bX="",bW="myTimeplotView",bV="kmh",bU="#",bT="visible",bS="#000000",bR="js/timeline-ajax/simile-ajax-bundle.js?x=1",bQ="#00FF00",bw="js/timeline/timeline-bundle.js?x=1",bv="right",bu="js/timeplot/timeplot-bundle.js?x=1",bt="undefined",bs="-",br="track.statistic.TimeplotView",bq='px;"></div>',bp="h",bo="plotCourse",bn='iso8601',ch="js/timeline-ajax/",ci='js/timeplot/timeplot-bundle.css',cf="#80cc80",cg="js/timeplot/scripts/sources.js?x=1",cd="iso8601",ce="js/timeline-ajax/scripts/date-time.js?x=1",cb="plotHeight",cc="js/timeline/scripts/overview-painter.js?x=1",cj="&",ck="2006-06-03T02:45:00,88,512,95\n",bJ="js/timeline-ajax/scripts/string.js?x=1",bI="i",bL="js/timeplot/scripts/math.js?x=1",bK="js/timeline-ajax/scripts/dom.js?x=1",bN="js/timeline-ajax/scripts/platform.js?x=1",bM="2006-06-03T12:49:00,37,502,120\n",bP="=",bO="plotKmh",bH="js/timeline/",bG="statisticTimeplot.debug",a="js/timeline-ajax/scripts/xmlhttp.js?x=1",b="TimeplotView.js exception",c="2006-06-02T16:46:00,92,499,105\n",d="js/timeplot/scripts/timeplot.js?x=1",f="#606060",g="js/timeline/scripts/labellers.js?x=1",h=" <i>history</i>",j="js/timeline-ajax/scripts/ajax.js?x=1",k='px',m="js/timeline/scripts/band.js?x=1",co="2006-06-02T23:20:00,40,490,105\n",cn="js/timeplot/scripts/color.js?x=1",cm="js/timeline/scripts/themes.js?x=1",cl="#8080cc",cs="statisticTimeplot.maxValues",cr="js/timeline-ajax/scripts/signal.js?x=1",cq='js/timeline/timeline-bundle.css',cp="js/timeline/scripts/detailed-painter.js?x=1",cu="valueGeometryKmh",ct="js/timeline/scripts/timeline.js?x=1",M="course",N="infoMsgBox",K="id",L=" ",Q="js/timeline-ajax/scripts/graphics.js?x=1",R="js/timeline-ajax/scripts/debug.js?x=1",O="js/timeline/scripts/event-utils.js?x=1",P="#FF0000",I="2006-06-02T12:45:00,87,470,90\n",J="js/timeplot/scripts/plot.js?x=1",v="t",u="#4B088A",x=" m",w="js/timeline/scripts/original-painter.js?x=1",r="js/timeline-ajax/scripts/html.js?x=1",p="js/timeplot/scripts/processor.js?x=1",t="js/timeline-ajax/scripts/data-structure.js?x=1",s="On tour",o=" km/h",n="top",W="plotAlarm",X="js/timeline/scripts/decorators.js?x=1",Y="js/timeline/scripts/ether-painters.js?x=1",ba="\n",S="js/timeline/scripts/ethers.js?x=1",T="js/timeline/scripts/sources.js?x=1",U="  ",V="all",bb="2006-06-03T18:50:00,100,600,87",bc="left",F=" °",E="js/timeline-ajax/scripts/window-manager.js?x=1",D="#0000FF",C="true",B="excluded",A="bottom",z="%1 plot data read ...",y="2006-06-02T19:46:00,90,490,105\n",H='images/32/statusLine/alarmOn.png',G="Plot data %1/%2 ...",bd="js/timeline-ajax/scripts/jquery-1.3.2.min.js?x=1",be="someArg",bf="js/timeplot/scripts/geometry.js?x=1",bg="#B441FF",bh="2006-06-03T10:48:00,0,530,110\n",bi="combo",bj="js/timeline-ajax/scripts/units.js?x=1",bk="js/timeline/scripts/compact-painter.js?x=1",bl="2006-06-03T02:47:00,0,512,95\n",bm="js/timeline-ajax/scripts/history.js?x=1",bA="false",bz='<div id="myTimeplotView" style="height: ',by="Plot created (%1)",bx='#FF0000',bE="Statistic is not available, please contact the support",bD="Creating plot ...",bC="js/timeline-ajax/scripts/json.js?x=1",bB="?",bF="js/timeplot/";
qx.Class.define(br,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(cv,cw,cx){qx.core.Object.call(this);
this.trackGui=cv;
this.mapInfoGui=new track.map.MapInfoGui(this.trackGui);
this.statisticWindow=cw;
this.timeplotGroup=cx;
this.resizeTimerID=null;
this.counter=0;
this.timeplotViewAtom=null;
this.timeplotData=bX;
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.__sX,this,100);
},__sX:function(){if(this.timeplot!=null)this.timeplot.repaint();
},setVisible:function(cy){this.timeplotViewAtom.setVisibility(cy?bT:B);

if(cy){this.createTimeplot();
}},isVisible:function(){var cz=(this.timeplotViewAtom.getVisibility()==bT);
return cz;
},changedWantedYAxis:function(cA){this.__ta(cA);
},__sY: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=u;
this.eventSourceKmh.fillColor=bg;
var cD=new Timeplot.DefaultValueGeometry({id:cu,gridColor:this.eventSourceKmh.colorKmh,axisLabelsPlacement:bc,axisColor:bQ,gridLineWidth:2.0,min:0});
this.eventSourceHeight=new Timeplot.DefaultEventSource();
this.eventSourceHeight.columnHeight=2;
this.eventSourceHeight.colorHeight=D;
this.eventSourceHeight.fillColor=cl;
var cE=new Timeplot.DefaultValueGeometry({gridColor:this.eventSourceHeight.colorHeight,axisLabelsPlacement:bv});
this.eventSourceCourse=new Timeplot.DefaultEventSource();
this.eventSourceCourse.columnCourse=3;
this.eventSourceCourse.colorCourse=bQ;
this.eventSourceCourse.fillColor=cf;
var cB=new Timeplot.DefaultValueGeometry({gridColor:this.eventSourceCourse.colorCourse,axisLabelsPlacement:bv});
var cC=new Timeplot.DefaultTimeGeometry({gridColor:new Timeplot.Color(bS),axisColor:f,gridColor:bS,gridLineWidth:0.5,timeValuePosition:A,axisLabelsPlacement:n});
this.plotInfo=[Timeplot.createPlotInfo({id:bO,dataSource:new Timeplot.ColumnSource(this.eventSourceKmh,this.eventSourceKmh.columnKmh),valueGeometry:cD,timeGeometry:cC,lineColor:this.eventSourceKmh.colorKmh,fillColor:this.eventSourceKmh.fillColor,valueEntity:o,showValues:true}),Timeplot.createPlotInfo({id:cb,dataSource:new Timeplot.ColumnSource(this.eventSourceHeight,this.eventSourceHeight.columnHeight),valueGeometry:cE,timeGeometry:cC,lineColor:this.eventSourceHeight.colorHeight,fillColor:this.eventSourceHeight.fillColor,valueEntity:x,showValues:true}),Timeplot.createPlotInfo({id:bo,dataSource:new Timeplot.ColumnSource(this.eventSourceCourse,this.eventSourceCourse.columnCourse),valueGeometry:cB,timeGeometry:cC,lineColor:this.eventSourceCourse.colorCourse,fillColor:this.eventSourceCourse.fillColor,valueEntity:F,showValues:true}),Timeplot.createPlotInfo({id:W,timeGeometry:cC,eventSource:this.eventSourceAlarm,lineColor:P})];
this.eventSourceAlarm.addListener(this.timeplotListener);
return this.plotInfo;
},getMyTimeplotViewDiv:function(){var parent=document.getElementById(bW);
if(parent!=null){parent.style.height=(this.timeplotHeight-30)+k;
}return parent;
},removeMyTimeplotViewDiv:function(){var cF=document.getElementById(bW);

if(cF!=null){cF.parentNode.removeChild(cF);
}},createDivParent:function(){if(this.timeplotViewAtom!=null)return this.timeplotViewAtom;

if(true){var cG=bz+(this.timeplotHeight-30)+bq;
this.timeplotViewAtom=new qx.ui.embed.Html(cG);
this.timeplotViewAtom.setPadding(0);
this.timeplotViewAtom.setMargin(0);
}else{this.timeplotViewAtom=new qx.ui.basic.Atom();
this.timeplotViewAtom.getContainerElement().setAttribute(K,bW);
}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;
},__ta:function(cH){this.timeplotGroup.setStatusLabelValue(this.trc(bY,bD));
var cH=cH||bV;

if(this.timeplot!=null){this.timeplot.dispose();
}this.plotInfo=this.__sY();
var parent=this.getMyTimeplotViewDiv();

try{this.timeplot=Timeplot.create(parent,this.plotInfo);
}catch(e){this.trackGui.errorMsgBoxDeveloper(b,e);
return;
}var cI=null;
var cJ=cd;

if(cH==bV){this.eventSourceKmh.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
}else if(cH==bp){this.eventSourceHeight.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
}else if(cH==M){this.eventSourceCourse.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
}else if(cH==bi){this.eventSourceKmh.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
this.eventSourceHeight.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
}else{this.eventSourceKmh.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
this.eventSourceHeight.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
this.eventSourceCourse.loadText(this.timeplotData,ca,org.xmlBlaster.util.getLocation().href,cI,cJ);
}
if(this.alarmJson!=null){this.eventSourceAlarm.loadJSON(this.alarmJson,org.xmlBlaster.util.getLocation().href);
}this.timeplotGroup.setStatusLabelValue(this.trc(bY,by,this.countDataRead));
},onCheckboxVisible:function(cK){if(cK){this.setVisible(true);

if(this.timeplot!=null){this.__tb();
}else{this.__tc(true);
}}else{this.setVisible(false);
}},__tb:function(){if(this.timeplotGroup.timeplotDataCacheInfo==null){return;
}
if(!this.isVisible()){return;
}var parent=this.getMyTimeplotViewDiv();

if(parent.clientHeight==0){this.info("Waiting 50msec for DIV to grow ...");
qx.event.Timer.once(this.__tb,this,50);
return;
}var cL=this.timeplotGroup.filterView.getStartDate();
var cM=this.timeplotGroup.filterView.getEndDate();
this.loadDataFromCache(this.timeplotGroup.timeplotDataCacheInfo,cL,cM);
},createTimeplot:function(cN){this.doLoadTestData=(cN==undefined)?true:cN;
this.__tc();
},__tc:function(){if(this.timeplot!=null)return;
var cO=true;

if(cO){if(!this.trackGui.lazyLoadTriggered){this.trackGui.lazyLoadTriggered=true;
SimileAjax={loaded:false,loadingScriptsCount:0,error:null,params:{bundle:C}};
SimileAjax.Platform=new Object();
SimileAjax.urlPrefix=ch;
SimileAjax.prefixURLs=function(cP,cQ,cR){for(var i=0;i<cR.length;i++){cP.push(cQ+cR[i]);
}};
SimileAjax.parseURLParameters=function(cS,cT,cU){cT=cT||{};
cU=cU||{};

if(typeof cS==bt){cS=location.href;
}var q=cS.indexOf(bB);

if(q<0){return cT;
}cS=(cS+bU).slice(q+1,cS.indexOf(bU));
var db=cS.split(cj),cY,dd={};
var cV=window.decodeURIComponent||unescape;

for(var i=0;cY=db[i];i++){var dc=cY.indexOf(bP);
var name=cV(cY.slice(0,dc));
var cW=dd[name];

if(typeof cW==bt){cW=[];
}else if(!(cW instanceof Array)){cW=[cW];
}dd[name]=cW.concat(cV(cY.slice(dc+1)));
}
for(var i in dd){if(!dd.hasOwnProperty(i))continue;
var cX=cU[i]||String;
var da=dd[i];

if(!(da instanceof Array)){da=[da];
}
if(cX===Boolean&&da[0]==bA){cT[i]=false;
}else{cT[i]=cX.apply(this,da);
}}return cT;
};
window.Timeline=new Object();
window.Timeline.DateTime=window.SimileAjax.DateTime;
window.Timeline.urlPrefix=bH;
window.Timeplot={loaded:false,params:{bundle:true,autoCreate:true},importers:{}};
window.Timeplot.urlPrefix=bF;
LazyLoad.css(cq,function(){LazyLoad.css(ci,function(){var df=[bR,bw,bu];
var de=xbProperties.getBoolean(bG,false);

if(de){df=[bR,bw,bu,j,t,ce,R,bK,Q,bm,r,bd,bC,bN,cr,bJ,bj,E,a,m,bk,X,cp,Y,S,O,g,w,cc,T,cm,ct,cn,bf,bL,J,p,cg,d];
}LazyLoad.js(df,function(dg){this.trackGui.lazyLoadFinished=true;
this.info(df+' has been loaded');
},be,this);
},null,this);
},null,this);
}}else{this.trackGui.lazyLoadTriggered=true;
this.trackGui.lazyLoadFinished=true;
}this.counter++;
var parent=this.getMyTimeplotViewDiv();
if(parent==null||this.trackGui.lazyLoadFinished==false){if(this.counter>100){this.counter=0;

if(!this.isVisible()){this.info("TimeplotView: parent="+parent+" this.trackGui.lazyLoadFinished="+this.trackGui.lazyLoadFinished+" visible=false");
return ;
}this.error("TimeplotView: parent="+parent+" this.trackGui.lazyLoadFinished="+this.trackGui.lazyLoadFinished);
this.trackGui.infoMsgBox(this.trc(N,bE));
return;
}qx.event.Timer.once(this.__tc,this,100);
return;
}this.__td();
},isTimeplotInitialized:function(){return this.timeplotIsInitialized;
},__td:function(){this.counter=0;
this.timeplotIsInitialized=true;
this.timeplotGroup.onTimeplotIsInitialized();

if(this.doLoadTestData&&this.timeplotGroup.timeplotDataCacheInfo==null){this.doLoadTestData=false;
this.__te();
this.__ta(V);
}else{this.__tb();
}},timeplotListener:function(dh){alert("TimeplotListener has fired");
},__te:function(){this.timeplotData=I+c+y+co+ck+bl+bh+bM+bb;
return this.timeplotData;
},loadDataFromCache:function(di,dj,dk){var dj=dj||null;
var dk=dk||null;

if(di==null)return;

if(!this.isVisible()){return;
}var du=xbProperties.getInt(cs,200);
var dy=[];

for(var i=0,l=di.gpsDataArr.length;i<l;i++){var dt=di.gpsDataArr[i];
var dw=dt.getUtcDateObj();

if(dj!=null&&dw.getTime()<dj.getTime()||dk!=null&&dw.getTime()>dk.getTime()){continue;
}dy.push(dt);
}var dm=[];

for(var i=0,l=dy.length;i<l;i++){var dt=dy[i];
var dv=dt.isValid()&&dt.hasLatLonNotNull();

if(!dv){continue;
}dm.push(dt);
}this.timeplotData=bX;
var dl=0;

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

if(l>du){var dp=du-dl;

try{var dx=(dp==0)?1:(Math.round((l-i)/dp)+1);
if((i%dx)==0){;
}else{continue;
}}catch(dz){this.warn("enmeas.size()="+l+" limit="+du+" count="+dl+" divisor="+dp);
}}dl++;

if((dl%50)==0){this.timeplotGroup.setStatusLabelValue(this.trc(bY,G,dl,di.gpsDataArr.length));
}this.timeplotData+=dt.getUtcIsoStr()+ca+dt.getSpeedKmhInteger();
this.timeplotData+=ca+dt.getHeight();
this.timeplotData+=ca+dt.getCourse();
this.timeplotData+=ba;
}var dm=[];

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

if(dt.hasAlarm()){dm.push(dt);
}}var dl=0;
this.alarmJson={'dateTimeFormat':bn,'events':[]};

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

if(l>du){var dp=du-dl;

try{var dx=(dp==0)?1:(Math.round((l-i)/dp)+1);
if((i%dx)==0){;
}else{continue;
}}catch(dA){this.warn("enmeas.size()="+l+" limit="+du+" count="+dl+" divisor="+dp);
}}dl++;
var dr=di.device.getBuddyTO().getAliasAndLoginName();
dr+=h;
var dn=dt.getInfo(bI,bX)+U+dt.getInfo(v,bX);

if(dn.length==0){dn=s;
}var dq=L;
var ds=this.mapInfoGui.getGpsCompleteHtml(dt,dn,dq,dr);
this.alarmJson.events.push({'start':dt.getUtcIsoStr(),'title':dt.getAlarmType(),'durationEvent':false,'description':ds,'image':H,'color':bx,'callbackFp':this.onClickCallback,'callbackThis':this,'callbackArg':dt});
}this.timeplotGroup.setStatusLabelValue(this.trc(bY,z,dl));
this.countDataRead=dl;
this.__ta(this.timeplotGroup.getSelectedYAxis());
},onClickCallback:function(dB,dC,dD,dE){if(dE.hasLatLonNotNull()){this.showOnMap(dE);
}this.timeplotGroup.historyTableView.focusGpsDataRow(dE);
var dF=null;
var dH=null;
var dI=null;
var dG=this.trackGui.getMapInfoGui().getGpsCompleteHtml(dE,dF,dH,dI);
this.trackGui.msgBox.infoMsgBox(dG,null,false);
return true;
},showOnMap:function(dJ){var dK=this.timeplotGroup.getSelectedDevice();
var dL=dK.getTrack(dJ.getTrackName(null));
this.trackGui.watchee.getMapManager().showAndCenterLocation(dL,dJ);
},__tf:function(dM){for(var i=0;i<dM.length;i++){var dN=dM[i];
dN[0]=dN[0].replace(/\//g,bs);
}return dM;
},clear:function(){try{if(this.timeplot!=null){this.timeplot.dispose();
this.timeplot=null;
this.timeplotIsInitialized=false;
}}catch(dO){this.error("TimeplotView.js dispose failed: "+dO);
}}},destruct:function(){this.destroyPopup();
}});
})();
(function(){var bz="</td>",by="<tr>",bx="</tr>",bw="<td class='gpsMapValue'>",bv="MapInfo",bu="<td class='gpsMapLabel'>",bt="-",bs=" / ",br="MapInfo.Xsms",bq="",bf="</th>",be=" ",bd="</table>",bc="/",bb="</thead>",ba="<thead>",Y="h",X="<table class='gpsMapLabel'>",W="</a>",V="<th class='gpsMapLabel' colspan='2'>",bG="<td class='xsmsMapValue'>",bH="\",\"",bE="/>",bF="Time:",bC=" km/h",bD=" m</td>",bA="<a href='#' onclick='",bB="\")",bI="Speed:",bJ="alarm",bj="Overall Distance:",bi=" deg",bl="; return false;'>",bk="<table><tr><td>",bn="</td><td>",bm="\n",bp="---",bo="<th class='xsmsMapLabel' width='33%'>",bh="</td></tr></table>",bg="<img src='",a=" (local)",b="<td class='gpsMapLabel' colspan='2'>",c="&z=12' target='_blank'>",d="Latitude/Longitude:",f="<td class='gpsMapValue' style='color:red'>",g="To",h="CellId/Mcc/Mnc/Lac:",i="Longitude:",j="Device:",k="Height:",bN="mapInfoShowHeight",bM="XSMS-To:",bL="16/info_16.png",bK="' border='0' alt='Phone' width='32' height='32' ",bR="Date",bQ="</a> ",bP="Alarm:",bO="Course/Height:",bT="32/statusLine/telephone.png",bS="<td class='xsmsMapBody' colspan='3'>",F="Track:",G="<b>",D="track.map.MapInfoGui.makePhoneCallToDevice(\"",E="' border='0' alt='Info' width='16' height='16' ",J="showGpsDataInfo caught exception, failed: ",K="From",H="unknown",I="Make Phone Call:",B="mapInfoPopupPhoneCall",C="<th class='xsmsMapLabel' width='34%'>",s="Date:",r="XSMS-From:",u="<table class='gpsMapLabel' width='330'>",t="XSMS-Send-Date:",o="</b>",n="track.map.MapInfoGui",q="<a href='http://maps.google.com/maps?f=q&q=",p="<br />",m="<br>",l="Date/Time:",P="' target='_blank'>Google: ",Q="track.map.MapInfoGui.showGpsDataInfo(\"",R="<td class='gpsMapLabel' style='color:red'>",S="Latitude:",L="<a href='",M="<td class='gpsMapLabel'>CellId/Mcc/Mnc/Lac:</td>",N="mapClickPhoneCall",O="mapInfoOverallDistance",T="<br> &nbsp; &nbsp; &nbsp;",U="Link to google maps:",A="Course:",z="useReverseGeocode",y=" GMT</td>",x="<td class='gpsMapLabel'>CellId/Mcc/Mnc:</td>",w="XSMS-Message:",v=",";
qx.Class.define(n,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(bU){qx.core.Object.call(this);
this.trackGui=bU;
},statics:{makePhoneCallToDevice:function(bV,bW){if(bV===undefined)bV=null;

if(bW===undefined)bW=null;
var bY=qx.core.ObjectRegistry.fromHashCode(bV);

if(bY!=null){bY.getLogger().info("makePhoneCallToDevice "+bV+" "+bW);
var bX=bY.watchee.getBuddyManager().getBuddyOrFriendOf(bW).getDevice();
bY.makePhoneCallToDevice(bX);
}else{alert("makePhoneCallToDevice failed, trackGui not found "+bV+" "+bW);
}},showGpsDataInfo:function(ca,cb,cc){if(ca===undefined)ca=null;

if(cb===undefined)cb=null;
var cf=qx.core.ObjectRegistry.fromHashCode(ca);

if(cf!=null)cf.info("Called MapInfoGui.js showGpsDataInfo: gpsSentence="+cb);
if(cf!=null&&cb!=null){var cg=bq;

try{if(xbProperties.getBoolean(z,true)&&navigator.geolocation){var cd=new net.watchee.GPSData(cb,null);
cg=cd.getAddressStr(bm);
}}catch(e){cf.warn("showGpsDataInfo caught exception: "+e);
}
if(cb.indexOf(net.watchee.GPSData.KEY_WATCHEE)==0){cb=cb.substring(net.watchee.GPSData.KEY_WATCHEE.length+1);
}cb+=bm+cg;
cf.info(cb);
var ce=cb.replace(/\n/g,m).replace(/\,/g,T);
cf.msgBox.infoMsgBox(ce,null,false);
}else{alert("showGpsDataInfo failed, trackGui not found "+ca+" "+cb);
}}},members:{processMarkerSelection:function(ch,ci,cj,ck){if(ci!=null&&ci.ctrlKey==true){var cm=xbProperties.getBoolean(N,false);

if(cm&&cj!=null){var cl=cj.getDevice();
this.trackGui.makePhoneCallToDevice(cl);
return false;
}}return true;
},getXsmsHtml:function(cn){var co=bq;
co+=u;
co+=ba;
co+=by;
co+=bo+this.trc(br,K)+bf;
co+=bo+this.trc(br,g)+bf;
co+=C+this.trc(br,bR)+bf;
co+=bx;
co+=bb;
co+=by;
co+=bG+cn.getFromStr()+bz;
co+=bG+cn.getToStr()+bz;
co+=bG+cn.getGmtTimeStr()+bz;
co+=bx;
co+=by;
co+=bS+cn.getBody()+bz;
co+=bx;
co+=bd;
return co;
},getGpsHtml:function(cp,cq,cr,cs,ct){var cw=bq;
cw+=X;

if(org.xmlBlaster.util.isDefined(cq)){cw+=ba;
cw+=by;
cw+=V+cq+bf;
cw+=bx;
cw+=bb;
}cw+=by;
cw+=bu+this.trc(bv,bF)+bz;
cw+=bw+cp.getLocalTime()+this.trc(bv,a)+bz;
cw+=bx;
cw+=by;

if(cp.isFromCellId()){var cv=cp.getMcc();
var cx=cp.getMnc();
var cz=cp.getCellId();
var cu=cz+bc+cv+bc+cx;
cw+=x;
cw+=bw+cu+bz;
}else{cw+=bu+this.trc(bv,bI)+bz;
var cy=cp.getSpeedKmh().toFixed(0)+bC;
cw+=bw+cy+bz;
}cw+=bx;
cw+=by;
cw+=bu+this.trc(bv,A)+bz;
cw+=bw+cp.getCourse().toFixed(0)+this.trc(bv,bi)+bz;
cw+=bx;

if(cp.getInfo(Y,null)!=null){cw+=by;
cw+=bu+this.trc(bv,k)+bz;
cw+=bw+cp.getInfo(Y,bp)+bD;
cw+=bx;
}
if(org.xmlBlaster.util.isDefined(cr)){cw+=by;
cw+=bu+this.trc(bv,bj)+bz;
cw+=bw+cr+bz;
cw+=bx;
}
if(org.xmlBlaster.util.isFilled(cs)){cw+=by;
cw+=b+cs+bz;
cw+=bx;
}cw+=bd;

if(org.xmlBlaster.util.isDefined(ct)){cw=bk+cw+bn+ct+bh;
}return cw;
},getGpsCompleteHtml:function(cA,cB,cC,cD,cE,cF,cG,cH){var cF=cF||null;
var cT=bq;
cT+=X;

if(org.xmlBlaster.util.isDefined(cB)){cT+=ba;
cT+=by;
cT+=V+cB+bf;
cT+=bx;
cT+=bb;
}
if(cF!=null){cT+=by;
cT+=bu+this.trc(br,r)+bz;
cT+=bw+cF.getFromStr()+bz;
cT+=bx;
cT+=by;
cT+=bu+this.trc(br,bM)+bz;
cT+=bw+cF.getToStr()+bz;
cT+=bx;
cT+=by;
cT+=bu+this.trc(br,t)+bz;
cT+=bw+cF.getGmtTimeStr()+bz;
cT+=bx;
cT+=by;
cT+=bu+this.trc(br,w)+bz;
cT+=bw+cF.getBody()+bz;
cT+=bx;

if(cA==null){cT+=bd;
return cT;
}}cT+=by;
cT+=bu+this.trc(bv,l)+bz;
cT+=bw+cA.getLocalDate()+be+cA.getLocalTime()+this.trc(bv,a)+bz;
cT+=bx;
cT+=by;

if(cA.isFromCellId()){var cX=cA.getCellId();
var cM=cA.getMcc();
var cV=cA.getMnc();
var cO=cA.getLac();

if(cX==null)cX=bt;

if(cM==null)cM=bt;

if(cV==null)cV=bt;

if(cO==null)cO=bt;
var cK=cX+bs+cM+bs+cV+bs+cO;
cT+=bu+this.trc(bv,h)+bz;
cT+=bw+cK+bz;
}else{cT+=bu+this.trc(bv,bI)+bz;
var cW=cA.getSpeedKmh().toFixed(0)+bC;
cT+=bw+cW+bz;
}cT+=bx;
var cL=cA.getGoogleMapsLink(12,cA.getTrackName(bq)+be+cA.getAlarmTypeNotNull());
var cQ=L+cL+P+cA.latitudeDecimal(5)+bs+cA.longitudeDecimal(5)+W;
var cR=p+cQ;
cT+=by;
cT+=bu+this.trc(bv,d)+bz;
cT+=bw+cA.latitudeDegMinSec()+bs+cA.longitudeDegMinSec()+be+cR+bz;
cT+=bx;
var cI=xbProperties.getBoolean(bN,true);

if(cI){cT+=by;
cT+=bu+this.trc(bv,bO)+bz;
cT+=bw+cA.getCourse().toFixed(0)+this.trc(bv,bi)+bs+cA.getInfo(Y,bp)+bD;
cT+=bx;
}
if(cA.getInfo(bJ,null)!=null){cT+=by;
cT+=R+this.trc(bv,bP)+bz;
cT+=f+cA.getInfo(bJ,H)+bz;
cT+=bx;
}var cJ=xbProperties.getBoolean(O,true);

if(cJ){if(org.xmlBlaster.util.isDefined(cC)){cT+=by;
cT+=bu+this.trc(bv,bj)+bz;
cT+=bw+cC+bz;
cT+=bx;
}}var cU=xbProperties.getBoolean(B,false);

if(cU&&cG!=undefined&&cG!=null){var cU=D+this.trackGui.toHashCode()+bH+cG.getDeviceId()+bB;
cT+=by;
cT+=bu+this.trc(bv,I)+bz;
cT+=bw+bA+cU+bl+bg+xbGetIcon(bT)+bK+bE+W;
bz;
cT+=bx;
}
if(org.xmlBlaster.util.isFilled(cD)){var cS=bq;

if(cG){cS=cG.getDeviceId();
}var cP=cA.makeWatcheeString(true);

try{var cN=cP.replace(/\"/g,be).replace(/\'/g,be).replace(/\n/g,be);
this.trackGui.info("getGpsCompleteHtml:"+cN);
var cU=Q+this.trackGui.toHashCode()+bH+cN+bH+cS+bB;
var cY=bA+cU+bl+bg+xbGetIcon(bL)+E+bE+bQ;
cT+=by;
cT+=b+cY+cD+bz;
cT+=bx;
}catch(da){this.trackGui.errorMsgBoxDeveloper(J+cP,da);
}}cT+=bd;

if(org.xmlBlaster.util.isDefined(cE)){cT=bk+cT+bn+cE+bh;
}return cT;
},getGpsDetailHtml:function(db,dc){var di=bq;
di+=X;

if(false){di+=ba;
di+=by;
di+=V+header+bf;
di+=bx;
di+=bb;
}di+=by;
di+=bu+this.trc(bv,s)+bz;
di+=bw+db.getDate()+bz;
di+=bx;
di+=by;
di+=bu+this.trc(bv,bF)+bz;
di+=bw+db.getTime()+y;
di+=bx;
di+=by;
di+=bu+this.trc(bv,S)+bz;
di+=bw+db.latitudeDegMinSec()+bz;
di+=bx;
di+=by;
di+=bu+this.trc(bv,i)+bz;
di+=bw+db.longitudeDegMinSec()+bz;
di+=bx;
di+=by;
var dh=q+db.latitudeDecimal(7)+v+db.longitudeDecimal(7)+c+db.latitudeDecimal(5)+bs+db.longitudeDecimal(5)+W;
di+=bu+this.trc(bv,U)+bz;
di+=bw+dh+bz;
di+=bx;
var df=db.getMcc();
var dj=db.getMnc();
var dk=db.getCellId();
var dg=db.getLac();

if(dk!=null||df!=null){if(dk==null)dk=bt;

if(df==null)df=bt;

if(dj==null)dj=bt;

if(dg==null)dg=bt;
var de=dk+bc+df+bc+dj+bc+dg;
var dd=(db.isFromCellId())?G+de+o:de;
di+=by;
di+=M;
di+=bw+dd+bz;
di+=bx;
}
if(org.xmlBlaster.util.isDefined(dc)){di+=by;
di+=bu+this.trc(bv,j)+bz;
di+=bw+dc.getDeviceId()+bz;
di+=bx;
di+=by;
di+=bu+this.trc(bv,F)+bz;
di+=bw+dc.getTrackName()+bz;
di+=bx;
}di+=bd;
return di;
},clear:function(){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var p="entity",o="tooltip",n="label",m="listItem",k="6%",j="8%",h="km",g="knots",f="hoursEntity",d="totalkm",bt="yearEntity",bs="sm",br="h ",bq="monthEntity",bp="totalmillis",bo="m ",bn="kmh",bm="",bl="d ",bk="sec",w="min ",x="minutesEntity",u="miles",v="y ",s="daysEntity",t="secondsEntity",q="meterpersec",r="minperkm",E="labelWithLineBreakForLayout",F="changeSelection",P="milesh",M=" km",X=" km/h",S="meterpermin",bg=" m",bd="Altitude: ",I="Please choose speed entity",bj="10%",bi="Total distance in kilometers",bh="Minute per kilometer (jogging)",H="One english landmile = 1.6093 kilometer",K="m/sec",L="mph",O="Mile per hour (US, UK)",Q="Altitude difference by comparing adjacent height data and only adding them to the total when going uphill, in meters",T="m/min",ba="13%",bf="One nautical mile = 1.852 kilometer",y="Meter per second (physics)",z="Use Shift+Mouseclick to select a subset of GPS positions in the Table and calculate average values",J="&#xf8; Speed: ",W="Total elapsed time",V="Limit the time range by setting up start and end date",U="Please choose distance entity",bc="Using above time range",bb="Kilometer per hour (metric system)",R="km/h",Y="Using above time range or selected rows",a="Kilometer",be="Distance: ",A="7%",B="Time: ",N="Meter per minute (horse riding)",b="Average speed in kilometers per hour",c="min/km",G="5%",C="track.statistic.AverageView",D="Nautical mile per hour (sailing)";
qx.Class.define(C,{extend:qx.ui.container.Composite,construct:function(bu,bv,bw){qx.ui.container.Composite.call(this);
this.trackGui=bu;
this.statisticWindow=bv;
this.timeplotGroup=bw;
this.layout=new qx.ui.layout.HBox(5);
this.setLayout(this.layout);
this.totalSpeedSum=0;
this.countSpeedInstances=0;
this.useAverageEntitySelectBox=true;
this.useDistanceEntitySelectBox=true;
this.create();
this.set({padding:[5,10],width:900,allowGrowX:true,allowStretchX:true});
},members:{create:function(){var bD=new qx.ui.basic.Label(this.trc(n,B));
bD.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,W)));
var bE=new qx.ui.basic.Label(this.trc(n,be));
bE.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,bi)));
var bx=new qx.ui.basic.Label().set({value:this.trc(n,J),rich:true});
bx.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,b)));
var bB=new qx.ui.basic.Label(this.trc(n,bd));
bB.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,Q)));
var bA=new qx.ui.basic.Label(bm);

if(this.statisticWindow.supportsTableSelections){bA.setValue(this.trc(E,Y));
bA.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,z)));
}else{bA.setValue(this.trc(E,bc));
bA.setToolTip(new qx.ui.tooltip.ToolTip(this.trc(n,V)));
}bA.setRich(true);
this.totalTime=new qx.ui.form.TextField().set({readOnly:true});
this.totalDistance=new qx.ui.form.TextField().set({readOnly:true});
this.distanceEntitySelectBox=new qx.ui.form.SelectBox();
this.distanceEntitySelectBox.setToolTipText(this.trc(o,U));
var bF=new qx.ui.form.ListItem(this.trc(m,h));
bF.setUserData(p,h);
bF.setToolTipText(this.trc(o,a));
this.distanceEntitySelectBox.add(bF);
var bH=new qx.ui.form.ListItem(this.trc(m,u));
bH.setUserData(p,u);
bH.setToolTipText(this.trc(o,H));
this.distanceEntitySelectBox.add(bH);
var bI=new qx.ui.form.ListItem(this.trc(m,bs));
bI.setUserData(p,bs);
bI.setToolTipText(this.trc(o,bf));
this.distanceEntitySelectBox.add(bI);
this.distanceEntitySelectBox.setSelection([bF]);
this.distanceEntitySelectBox.addListener(F,function(e){var bL=(e.getData().length==0)?null:e.getData()[0];

if(bL==null)return ;
this.updateDistanceField();
},this);
this.averageSpeed=new qx.ui.form.TextField().set({readOnly:true});
this.averageEntitySelectBox=new qx.ui.form.SelectBox();
this.averageEntitySelectBox.setToolTipText(this.trc(o,I));
var bG=new qx.ui.form.ListItem(this.trc(m,R));
bG.setUserData(p,bn);
bG.setToolTipText(this.trc(o,bb));
this.averageEntitySelectBox.add(bG);
var bJ=new qx.ui.form.ListItem(this.trc(m,c));
bJ.setUserData(p,r);
bJ.setToolTipText(this.trc(o,bh));
this.averageEntitySelectBox.add(bJ);
var bK=new qx.ui.form.ListItem(this.trc(m,T));
bK.setUserData(p,S);
bK.setToolTipText(this.trc(o,N));
this.averageEntitySelectBox.add(bK);
var bC=new qx.ui.form.ListItem(this.trc(m,K));
bC.setUserData(p,q);
bC.setToolTipText(this.trc(o,y));
this.averageEntitySelectBox.add(bC);
var bz=new qx.ui.form.ListItem(this.trc(m,L));
bz.setUserData(p,P);
bz.setToolTipText(this.trc(o,O));
this.averageEntitySelectBox.add(bz);
var by=new qx.ui.form.ListItem(this.trc(m,g));
by.setUserData(p,g);
by.setToolTipText(this.trc(o,D));
this.averageEntitySelectBox.add(by);
this.averageEntitySelectBox.setSelection([bG]);
this.averageEntitySelectBox.addListener(F,function(e){var bM=(e.getData().length==0)?null:e.getData()[0];

if(bM==null)return ;
this.updateAverageField();
},this);
this.altDiff=new qx.ui.form.TextField().set({readOnly:true});
this.add(bD,{width:G});
this.add(this.totalTime,{width:ba});
this.add(bE,{width:k});
this.add(this.totalDistance,{width:(this.useDistanceEntitySelectBox?j:bj)});

if(this.useDistanceEntitySelectBox)this.add(this.distanceEntitySelectBox,{width:A});
this.add(bx,{width:k});
this.add(this.averageSpeed,{width:(this.useAverageEntitySelectBox?j:j)});

if(this.useAverageEntitySelectBox)this.add(this.averageEntitySelectBox,{width:j});
this.add(bB,{width:k});
this.add(this.altDiff,{width:k});
this.add(bA,{flex:4});
},getSelectedAverageEntity:function(){var bN=this.averageEntitySelectBox.getSelection()[0];

if(bN==null)return bn;
return bN.getUserData(p);
},getSelectedDistanceEntity:function(){var bO=this.distanceEntitySelectBox.getSelection()[0];

if(bO==null)return h;
return bO.getUserData(p);
},onCheckboxVisible:function(bP){if(bP){this.show();
var bQ=this.timeplotGroup.filterView.getStartDate();
var bR=this.timeplotGroup.filterView.getEndDate();
this.loadDataFromCache(this.timeplotGroup.timeplotDataCacheInfo,bQ,bR);
}else{this.exclude();
}},loadDataFromCache:function(bS,bT,bU){var bT=bT||null;
var bU=bU||null;

if(bS==null)return;

if(!this.isVisible()){return;
}this.countSpeedInstances=0;
this.totalSpeedSum=0;
var ci=0;
var bW=0;
var bV=null;
var ca=null;
var cg=null;
var cj=null;
var cd=null;
var ch=null;

for(var i=0,l=bS.gpsDataArr.length;i<l;i++){var cc=bS.gpsDataArr[i];
var ce=cc.getUtcDateObj();

if(bT!=null&&ce.getTime()<bT.getTime()||bU!=null&&ce.getTime()>bU.getTime()){continue;
}ca=cc;

if(bV==null){bV=ca;
cd=bV.getUtcDateObj();
cg=bV.hasValidHeight()?bV.getHeight():null;
}ch=ca.getUtcDateObj();
this.totalSpeedSum+=ca.getSpeedKmhInteger();
this.countSpeedInstances++;
cj=ca.hasValidHeight()?ca.getHeight():null;

if(cg!=null&&cj!=null){var bX=cj-cg;

if(bX>0)ci+=bX;
}var cb=ca.getDistance(bV);
bW+=cb;
bV=ca;

if(cj!=null){cg=cj;
}}this.altDiff.setValue(ci.toString()+bg);
this.totalDistance.setUserData(d,bW);
this.updateDistanceField();

if(ch!=null&&cd!=null){var cf=ch.getTime()-cd.getTime();
this.totalTime.setUserData(bp,cf);
var bY=org.xmlBlaster.util.getDiffDateHumanReadable(cf,this.trc(bt,v),this.trc(bq,bo),this.trc(s,bl),this.trc(f,br),this.trc(x,w),this.trc(t,bk));
this.totalTime.setValue(bY.result);
}else{this.totalTime.setValue(bm);
this.totalTime.setUserData(bp,0);
}this.updateAverageField();
},updateDistanceField:function(){var cm=this.getSelectedDistanceEntity();
var ck=this.totalDistance.getUserData(d);
var cl=0;

if(cm==h){cl=ck;
}else if(cm==u){cl=ck*0.621371;
}else if(cm==bs){cl=ck*0.5399568;
}
if(this.useAverageEntitySelectBox){this.totalDistance.setValue(cl.toFixed(3));
}else{this.totalDistance.setValue(cl.toFixed(3).toString()+M);
}},updateAverageField:function(){var cs=this.getSelectedAverageEntity();
var cn=(this.countSpeedInstances==0)?1:this.countSpeedInstances;
var co=this.totalTime.getUserData(bp);

if(co==null)co=0;
var cy=this.totalDistance.getUserData(d);

if(cy==null)cy=0;
var cu=0;

if(cs==bn){var cx=Math.round(this.totalSpeedSum/cn);
var ct=co/1000.0/60.0/60.0;

if(ct>0)cu=(cy/ct).toFixed(1);
this.info("totalKm="+cy+" hours="+ct+" average="+cu+" mediumOfSeparateSpeeds="+cx);
}else if(cs==r){var cp=co/1000.0/60.0;

if(cy>0){cu=(cp/cy).toFixed(2);
var cq=cu*60*1000;
var cz=org.xmlBlaster.util.getDiffDateHumanReadable(cq,this.trc(bt,v),this.trc(bq,bo),this.trc(s,bl),this.trc(f,br),this.trc(x,w),this.trc(t,bk));
cu=cz.result;
}}else if(cs==S){var cr=cy*1000;
var cp=co/1000.0/60.0;

if(cp>0){cu=(cr/cp).toFixed(1);
}}else if(cs==q){var cr=cy*1000.0;
var cw=co/1000.0;

if(cw>0)cu=(cr/cw).toFixed(2);
}else if(cs==P){var cv=cy*0.621371;
var ct=co/1000.0/60.0/60.0;

if(ct>0)cu=(cv/ct).toFixed(1);
}else if(cs==g){var cv=cy*0.5399568;
var ct=co/1000.0/60.0/60.0;

if(ct>0)cu=(cv/ct).toFixed(1);
}
if(this.useAverageEntitySelectBox){this.averageSpeed.setValue(cu.toString());
}else{this.averageSpeed.setValue(cu.toString()+X);
}},calculateAverages:function(cA){if(!this.isVisible()){return;
}var cB=0;
var cN=0;
var cF=0;
var cD=0;
var cC=null;
var cH=null;
var cJ=null;
var cM=null;

for(var i=0;i<cA.length;i++){cH=cA[i];

if(cC==null){cC=cH;
cJ=cC.getUtcDateObj();
}cM=cH.getUtcDateObj();
cN+=cH.getSpeedKmhInteger();
cB++;
var cE=cH.getHeight()-cC.getHeight();

if(cE>0)cF+=cE;
var cI=cH.getDistance(cC);
cD+=cI;
cC=cH;
}
if(cB==0)cB=1;
var cK=Math.round(cN/cB);
this.averageSpeed.setValue(cK.toString()+X);
this.altDiff.setValue(cF.toString()+bg);
this.totalDistance.setValue(cD.toPrecision(3).toString()+M);

if(cM!=null&&cJ!=null){var cL=cM.getTime()-cJ.getTime();
var cG=org.xmlBlaster.util.getDiffDateHumanReadable(cL,this.trc(bt,v),this.trc(bq,bo),this.trc(s,bl),this.trc(f,br),this.trc(x,w),this.trc(t,bk));
this.totalTime.setValue(cG.result);
}else{this.totalTime.setValue(bm);
}}},destruct:function(){}});
})();
(function(){var m="table title",k="",j="Label",h="visible",g="v [km/h]",f="Height [m]",d="volt",c="ch",b="excluded",a="Address",Y="Lat / Lon",X="No Web-Server found for: ",W="Down",V="Up",U="googleMaps",T="ActionType=xmlScript&xmlScriptBase64=",S="Bat [V]",R=",",Q="Content-length",P="sat",t="qx.ui.table.pane.Clipper",u="changeSelection",r="Table data %1/%2 ...",s="XbAccess.js#postXmlScript",p="/",q="track.statistic.HistoryTableView",n="Alarm",o=" / ",v="<br> &nbsp; &nbsp; &nbsp;",w="</a>",D="Sat",B="communication.noConnection",H="' target='_blank'>",F="application/x-www-form-urlencoded;charset=UTF-8",L="Table loaded (%1)",J="Course [°]",y="keypress",O="cellClick",N="red",M="Charged",x="<a href='",z="<br>",A="Content-Type",C=" ",E="Date (local)",G="green",I="undefined",K="GET";
qx.Class.define(q,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(ba,bb,bc){qx.core.Object.call(this);
this.trackGui=ba;
this.mapInfoGui=new track.map.MapInfoGui(this.trackGui);
this.statisticWindow=bb;
this.timeplotGroup=bc;
this.isReverseGeocodeInStatistikChecked=this.timeplotGroup.filterView.showAddressCheckBox.getValue();
var bd=0;
this.COL_DATE=bd++;
this.COL_LATLONLINK=bd++;
this.COL_SPEED=bd++;
this.COL_COURSE=bd++;
this.COL_HEIGHT=bd++;
this.COL_SAT=bd++;
this.COL_VOLTAGE=bd++;
this.COL_ISCHARGED=bd++;
this.COL_ALARM=bd++;
this.COL_ADDRESS=bd++;
this.COL_HIDDEN_GPSDATA=bd++;
this.NUM_COLS=bd++;
this.table=null;
this.tableModel=null;
this.keypressListenerId=null;
},members:{createTable:function(){var bg=[];
this.tableModel=new qx.ui.table.model.Simple();
var bh=[this.trc(m,E),this.trc(m,Y),this.trc(m,g),this.trc(m,J),this.trc(m,f),this.trc(m,D),this.trc(m,S),this.trc(m,M),this.trc(m,n),this.trc(m,a)];
this.tableModel.setColumns(bh);
this.tableModel.setData(bg);
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 bf=new qx.ui.table.Table(this.tableModel);
this.table=bf;
this.table.setStatusBarVisible(true);
bf.set({width:900,minWidth:900,height:200,decorator:null});
if(this.statisticWindow.supportsTableSelections){bf.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_INTERVAL_SELECTION);
}else{bf.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION);
}var bi=bf.getSelectionModel();
bi.addListener(u,function(e){if(this.statisticWindow.supportsTableSelections){var bj=[];
bi.iterateSelection(function(bk){bj.push(this.tableModel.getValue(this.COL_HIDDEN_GPSDATA,bk));
},this);
this.info("changeSelection on HistoryTableView");

if(this.timeplotGroup.averageView!=null&&this.timeplotGroup.averageView!=I)this.timeplotGroup.averageView.calculateAverages(bj);
}},this);
bf.addListener(O,this.onCellEvent,this);
var be=bf.getTableColumnModel();
bf.setColumnWidth(this.COL_DATE,120);
bf.setColumnWidth(this.COL_LATLONLINK,110);
bf.setColumnWidth(this.COL_SPEED,55);
bf.setColumnWidth(this.COL_COURSE,70);
bf.setColumnWidth(this.COL_HEIGHT,65);
bf.setColumnWidth(this.COL_SAT,40);
bf.setColumnWidth(this.COL_VOLTAGE,50);
bf.setColumnWidth(this.COL_ISCHARGED,55);
bf.setColumnWidth(this.COL_ALARM,120);
bf.setColumnWidth(this.COL_ADDRESS,200);
be.setDataCellRenderer(this.COL_LATLONLINK,new qx.ui.table.cellrenderer.Html());
this.keypressListenerId=bf.addListener(y,function(e){this.debug("Event keypress e="+e+" identifier="+e.getKeyIdentifier()+" isShiftPressed="+e.isShiftPressed());
var bn=e.getKeyIdentifier();

if(bn==V||bn==W){var bm=bf.getFocusedRow();
var bo=this.tableModel.getData();
var bl=bo[bm];
this.showOnMap(bl,null);
}},this);
return bf;
},onCheckboxVisible:function(bp){if(bp){this.table.show();
var bq=this.timeplotGroup.filterView.getStartDate();
var br=this.timeplotGroup.filterView.getEndDate();
this.loadDataFromCache(this.timeplotGroup.timeplotDataCacheInfo,bq,br);
}else{this.table.exclude();
}},setVisible:function(bs){this.table.setVisibility(bs?h:b);
},isVisible:function(){var bt=(this.table.getVisibility()==h);
return bt;
},_findRowNumber:function(bu){var bv=this.tableModel.getData();

for(var i=0,l=bv.length;i<l;i++){var bx=bv[i];
var bw=bx[this.COL_HIDDEN_GPSDATA];

if(bu==bw)return i;
}return -1;
},focusGpsDataRow:function(by){var bz=true;
var bB=0;
var bA=this.tableModel.getData();
var bC=this._findRowNumber(by);

if(bC!=-1)this.table.setFocusedCell(bB,bC,bz);
},onCellEvent:function(e){if(e.getCurrentTarget().classname==t){return ;
}var bF=this.tableModel.getData();
var bI=bF[e.getRow()];

if(e.isShiftPressed()||e.isRightPressed()){if(e.isRightPressed()||!this.statisticWindow.supportsTableSelections){var bE=bI[this.COL_HIDDEN_GPSDATA];
var bD=bE.dump().replace(/\n/g,z).replace(/\,/g,v);
this.trackGui.msgBox.infoMsgBox(bD,null,false);
}}else{var bH=e.getColumn();

if(bH==this.COL_LATLONLINK){var bE=bI[this.COL_HIDDEN_GPSDATA];
var bG=this.getGoogleLink(bE);
window.open(bG,U);
}this.showOnMap(bI,null);
}},showOnMap:function(bJ,bK){var bN=bJ[this.COL_HIDDEN_GPSDATA];
var bL=this.timeplotGroup.getSelectedDevice();
var bM=bL.getTrack(bN.getTrackName(null));
this.trackGui.watchee.getMapManager().showAndCenterLocation(bM,bN);
},lookupReverseGeocode:function(bO){var bP=K;
var bQ=true;
var bS=this.watchee.xbAccess.getUrlBaseRandom();
var bR=org.xmlBlaster.util.createXmlHttpRequest(null);
bR.open(bP,bS,bQ);
bR.setRequestHeader(A,F);
var bT=T+enc;
bR.setRequestHeader(Q,bT.length);
try{bR.send(bT);
}catch(bU){throw new org.xmlBlaster.util.XmlBlasterException(B,s,X+bS,false);
}
if(bQ==true){return null;
}else{return bR.responseText;
}},onShowGpsAddress:function(bV){this.isReverseGeocodeInStatistikChecked=bV;
this.showGpsAddress(0);
},showGpsAddress:function(bW){if(!this.isReverseGeocodeInStatistikChecked){this.timeplotGroup.filterView.setAddressLabel(null,null);
return;
}var bY=this.tableModel.getData();

if(bY===undefined||bY==null||bY.length<=bW){this.timeplotGroup.filterView.setAddressLabel(null,G);
return;
}this.timeplotGroup.filterView.setAddressLabel(bW+p+bY.length,N);
var cc=bY[bW];
var bX=cc[this.COL_HIDDEN_GPSDATA];
var cb=bX.getAddressStr(R);
this.tableModel.setValue(this.COL_ADDRESS,bW,cb);
var ca=1;

if(bW>0&&(bW%5)==0){ca=200;
}qx.event.Timer.once(function(){bW++;
this.showGpsAddress(bW);
},this,ca);
},getGoogleLink:function(cd){var ce=cd.getGoogleMapsLink(12,cd.getTrackName(k)+C+cd.getAlarmTypeNotNull());
return ce;
},loadDataFromCacheAsync:function(cf,cg,ch){var cf=cf;
var cg=cg;
var ch=ch;
qx.event.Timer.once(function(){this.loadDataFromCache(cf,cg,ch);
},this,100);
},_loadChunk:function(ci,cj,ck,cl,cm){var cq=10;
var i=cl;
var co=i+cq;
var cp=(i==0);
var cs=cp?100:1;
this.timeplotGroup.setStatusLabelValue(this.trc(j,r,i,ci.gpsDataArr.length));

for(var l=ci.gpsDataArr.length;i<l;i++){var cr=ci.gpsDataArr[i];
var ct=cr.getUtcDateObj();

if(cj!=null&&ct.getTime()<cj.getTime()||ck!=null&&ct.getTime()>ck.getTime()){continue;
}var cn=[];
cn[this.COL_DATE]=cr.getLocalTsIsoStr();
cn[this.COL_LATLONLINK]=k;

if(cr.hasLatLon()){var cu=this.getGoogleLink(cr);
cn[this.COL_LATLONLINK]=x+cu+H+cr.latitudeDecimal(5)+o+cr.longitudeDecimal(5)+w;
}cn[this.COL_SPEED]=cr.getSpeedKmhInteger();
cn[this.COL_COURSE]=cr.getCourseInteger();
cn[this.COL_HEIGHT]=cr.getHeight(0);
cn[this.COL_SAT]=cr.getInfo(P,k);
cn[this.COL_VOLTAGE]=cr.getInfo(d,k);
cn[this.COL_ISCHARGED]=cr.getInfo(c,k);
cn[this.COL_ALARM]=cr.getAlarmTypeNotNull();
cn[this.COL_ADDRESS]=k;
cn[this.COL_HIDDEN_GPSDATA]=cr;
cm.push(cn);

if(i>=co)break;
}
if(cp||i>=ci.gpsDataArr.length){this.tableModel.setData(cm);
}
if(i>=ci.gpsDataArr.length){this.timeplotGroup.setStatusLabelValue(this.trc(j,L,cm.length));
return;
}qx.event.Timer.once(function(){this._loadChunk(ci,cj,ck,(i+1),cm);
},this,cs);
},loadDataFromCache:function(cv,cw,cx){var cw=cw||null;
var cx=cx||null;

if(cv==null)return;

if(!this.isVisible()){return;
}var cy=[];
this._loadChunk(cv,cw,cx,0,cy);
this.onShowGpsAddress(this.isReverseGeocodeInStatistikChecked);
},clear:function(){try{var cz=[];
this.tableModel.setData(cz);
}catch(cA){this.error("HistoryTableView.js dispose failed: "+cA);
}}},destruct:function(){this.destroyPopup();
}});
})();
(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 h="track.geofence.GeofenceWindow",g="Manage geofence definitions",f="close",d="window title",c="16/rules/geofence.png";
var a=275;
var b=5;
qx.Class.define(h,{extend:track.util.WindowWithHelpIcon,construct:function(i){track.util.WindowWithHelpIcon.call(this);
this.trackGui=i;
this.setLayout(new qx.ui.layout.VBox());
this.setCaption(this.trc(d,g));
this.setIcon(xbGetIcon(c));
this.addListener(f,function(e){this.clear();
},this);
},members:{getGeofenceWindowTop:function(){return a;
},getGeofenceWindowLeft:function(){return b;
},createGeofenceWindow:function(){var j=new track.util.EnhancedTabView();
j.setMinWidth(200);
j.setMinHeight(200);
this.manageGeofenceTab=new track.geofence.ManageGeofenceTab(this);
this.manageGeofenceTab.createTab(j);
var k=false;

if(k){this.assignGeofenceTab=new track.geofence.AssignGeofenceTab(this);
this.assignGeofenceTab.createTab(j,false);
}this.add(j);
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 m="",k="input info",j="geofenceTO",h="button",g="execute",f="</pc>",d="addGeofences",c="<pr k='__class'>Geofence</pr>",b="left",a="<pc>",T=",",S="<pr k='coordinates'>9.0,40.3,500 9.1,40.2,500</pr>",R="Geofence details",Q="Geofence name:",P="<b>Save</b>",O="Choose Geofence:",N="16/actions/dialog-ok.png",M="right",L="<New Geofence>",K="<b>Delete Geofence</b>",t="track.geofence.ManageGeofenceTab",u="<pcc>",r="middle",s="tab title",p="</pcc>",q="groupbox title",n="NEW_INSTANCE",o="changeSelection",v="Manage",w="stockade123456 ",C="errorMsg",B="TK102/TK2000 SMS command:",E="Please enter geofence name",D="<pr k='name'>Geofence Company</pr>",G="GeofenceName",F="<pr k='coordinates'>9.0,40.1,500 9.1,40.0,500</pr>",y="<pr k='name'>Geofence Home</pr>",J="Bottom right (Long,Lat):",I="22/rules/geofenceManage.png",H="Upper Left (Long,Lat):",x=" ",z="22/places/user-trash.png",A=";";
qx.Class.define(t,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(U){qx.core.Object.call(this);
this.geofenceWindow=U;
this.trackGui=this.geofenceWindow.trackGui;
this.programmaticSetSelected=false;
this.currentGeofenceTO=null;
this.geofenceDrawer=null;
this.listItemNew=null;
this.tk102CoomandTextField=null;
},members:{createTab:function(V){this.tabviewPage=new qx.ui.tabview.Page(this.trc(s,v),xbGetIcon(I));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(2));
V.add(this.tabviewPage);
this.tabviewPage.add(this.__tq());
this.addGeofencesEventFunc=this.trackGui.watchee.getEventManager().addListener(d,function(W){var X=W.getData();
this.info("ManageGeofenceTab: Received addGeofences event");
this.__tp(new track.rulesmodel.GeofencesTO(this.trackGui,X));
},this);
this.trackGui.getGeofences(null);
},test:function(){var Y=u+a+c+D+F+f+a+c+y+S+f+p;
var ba=net.watchee.PropertyCollections.parseXml(Y);
return this.__tq(new track.rulesmodel.GeofencesTO(this.trackGui,ba));
},__tg:function(bb,bc){this.programmaticSetSelected=true;
bb.add(bc);
this.programmaticSetSelected=false;
},__th:function(bd,be,bf,bg){var bh=w+bd+T+be+A+bf+T+bg+m;
return bh;
},__ti:function(bi){var bk=bi.getCoordinate(0);
var bj=bi.getCoordinate(1);
return this.__th(bk.getLngEW(),bk.getLatNS(),bj.getLngEW(),bj.getLatNS());
},__tj:function(bl){this.__tk();

if(bl==null){this.currentGeofenceTO=new track.rulesmodel.GeofenceTO(this.trackGui);
this.geofenceNameTextField.setEnabled(true);
this.geofenceNameTextField.setValue(m);
this.coordinate1TextField.setValue(m);
this.coordinate2TextField.setValue(m);
this.tk102CoomandTextField.setValue(m);
this.__tl(null);
}else{this.currentGeofenceTO=bl;
this.geofenceNameTextField.setEnabled(false);
this.geofenceNameTextField.setValue(this.currentGeofenceTO.getName());
var bn=this.currentGeofenceTO.getCoordinates();

if(bn.size()>0)this.coordinate1TextField.setValue(bn.getCoordinate(0).toKmlLngLatStr());

if(bn.size()>1){this.coordinate2TextField.setValue(bn.getCoordinate(1).toKmlLngLatStr());
var bm=this.__ti(bn);
this.tk102CoomandTextField.setValue(bm);
}this.__tl(bn);
}return this.currentGeofenceTO;
},geofenceDrawEvent:function(bo,bp){this.geofenceDrawer=bo;
this.coordinate1TextField.setValue(bo.getKmlNW());
this.coordinate2TextField.setValue(bo.getKmlSE());
var br=net.watchee.Coordinates.parseKmlStr(bo.getKmlNW()+x+bo.getKmlSE());
var bq=this.__ti(br);
this.tk102CoomandTextField.setValue(bq);
},__tk:function(){if(this.geofenceDrawer!=null){this.geofenceDrawer.clearAll();
this.geofenceDrawer=null;
}},__tl:function(bs){var bs=bs||null;
this.__tk();
var bt=null;
this.geofenceDrawer=this.trackGui.watchee.getMapManager().createGeofenceDrawer(this.geofenceDrawEvent,this,bt);
this.geofenceDrawer.draw(bs);
},__tm:function(bu){var bx=null;
var bw=null;

if(bu==null){bx=this.trc(G,L);
bw=n;
}else{bx=bu.getName();
bw=bx;
}var bv=this.__to(bx);

if(bv!=null)return bv;
bv=new qx.ui.form.ListItem(bx,null,bw);
bv.setUserData(j,bu);
this.__tg(this.geofenceNameSelectBox,bv);
return bv;
},__tn:function(by){var bz=this.__to(by);

if(bz!=null){this.geofenceNameSelectBox.remove(bz);
return bz;
}return null;
},__to:function(bA){if(bA==null)return null;
var bB=this.geofenceNameSelectBox.getChildren();

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

if(bA==bC.getModel())return bC;
}return null;
},__tp:function(bD){var bD=bD||null;
this.geofenceNameSelectBox.removeAll();
this.listItemNew=this.__tm(null);

if(bD==null)return;
var bE=bD.getGeofences();

for(var i=0,l=bE.length;i<l;i++){this.__tm(bE[i]);
}this.geofenceNameTextField.setEnabled(true);
this.geofenceNameTextField.setValue(m);
},__tq:function(bF){var bF=bF||null;
var bI=new qx.ui.groupbox.GroupBox(this.trc(q,R));
var bG=new qx.ui.layout.Grid(6,4);
bI.setLayout(bG);
bG.setRowAlign(0,b,r);
var bL=0;
this.geofenceNameSelectBox=new qx.ui.form.SelectBox();
var bK=new qx.ui.basic.Label(this.trc(k,O));
bI.add(bK,{row:bL,column:0});
bI.add(this.geofenceNameSelectBox,{row:bL,column:1});
this.__tp(bF);
this.geofenceNameSelectBox.addListener(o,function(e){if(this.programmaticSetSelected)return ;
var bM=(e.getData().length==0)?null:e.getData()[0];
if(bM==null)return ;

if(this.listItemNew==bM)this.__tj(null);
else this.__tj(bM.getUserData(j));
},this);
bL++;
this.geofenceNameTextField=new qx.ui.form.TextField(m);
var bK=new qx.ui.basic.Label(this.trc(k,Q));
bI.add(bK,{row:bL,column:0});
bI.add(this.geofenceNameTextField,{row:bL,column:1});
this.geofenceNameTextField.setEnabled(false);
bL++;
this.coordinate1TextField=new qx.ui.form.TextField(m);
var bK=new qx.ui.basic.Label(this.trc(k,H));
bI.add(bK,{row:bL,column:0});
bI.add(this.coordinate1TextField,{row:bL,column:1});
this.coordinate1TextField.setEnabled(false);
bL++;
this.coordinate2TextField=new qx.ui.form.TextField(m);
var bK=new qx.ui.basic.Label(this.trc(k,J));
bI.add(bK,{row:bL,column:0});
bI.add(this.coordinate2TextField,{row:bL,column:1});
this.coordinate2TextField.setEnabled(false);
bL++;
this.tk102CoomandTextField=new qx.ui.form.TextField(m);
var bK=new qx.ui.basic.Label(this.trc(k,B));
bI.add(bK,{row:bL,column:0});
bI.add(this.tk102CoomandTextField,{row:bL,column:1});
this.tk102CoomandTextField.setEnabled(true);
bL++;
var bH=new qx.ui.form.Button(this.trc(h,K),xbGetQxIcon(z));

with(bH){setWidth(160);
setAlignX(b);
setRich(true);
}bI.add(bH,{row:bL,column:0});
bH.addListener(g,function(e){if(this.trackGui.watchee==null)return;
var bO=this.currentGeofenceTO;
var bN=this.geofenceNameSelectBox.getSelection()[0];
var bP=(this.listItemNew==bN);

if(bP){this.__tj(null);
return;
}this.trackGui.sendRemoveGeofence(bO);
this.__tn(bO.getName());
this.__tr();
},this);
var bJ=new qx.ui.form.Button(this.trc(h,P),xbGetQxIcon(N));

with(bJ){setWidth(160);
setAlignX(M);
setRich(true);
}bI.add(bJ,{row:bL,column:1});
bJ.addListener(g,function(e){if(this.trackGui.watchee==null)return;
var bT=this.geofenceNameSelectBox.getSelection()[0];
var bQ=(this.listItemNew==bT);

if(bQ){var name=this.geofenceNameTextField.getValue();

if(name==null||name.length<2){this.trackGui.errorMsgBox(this.trc(C,E));
return;
}this.currentGeofenceTO.setName(name);
}var bS=this.currentGeofenceTO.getKmlStr();
var bR=(this.geofenceDrawer!=null)?this.geofenceDrawer.getKmlStr():null;
this.info("Saving oldKml="+bS+" newKml="+bR);

if(bR==null){return;
}var bV=(bS!=bR);

if(bV){this.currentGeofenceTO.setCoordinatesKmlStr(bR);

if(bQ){this.trackGui.sendAddGeofence(this.currentGeofenceTO);
this.__tr();
}else{this.trackGui.sendAddGeofence(this.currentGeofenceTO);
}}
if(bQ){var bU=this.__tm(this.currentGeofenceTO);
this.geofenceNameSelectBox.setSelection([bU]);
}},this);
this.listItemNew.setUserData(j,this.__tj(null));
return bI;
},__tr:function(){if(this.trackGui.watchee!=null)this.trackGui.getGeofences(this.trackGui.watchee.getLoginName());
},clear:function(){this.__tk();
}},destruct:function(){if(this.addGeofencesEventFunc!=null&&this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(d,this.addGeofencesEventFunc);
this.addGeofencesEventFunc=null;
this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var d="22/geofenceAssign.png",c="track.geofence.AssignGeofenceTab",b="Assign",a="tab title";
qx.Class.define(c,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(e){qx.core.Object.call(this);
this.geofenceWindow=e;
this.trackGui=this.geofenceWindow.trackGui;
},members:{createTab:function(f){this.tabviewPage=new qx.ui.tabview.Page(this.trc(a,b),xbGetIcon(d));
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 q="alarmChanged",p="tabtitle",o="addAlarms",n="updateFriendOf",m="confirmAlarms",l="Alarms with rule definitions",k="Event log",j="infoMsgBox",i="No permission to view alarms of %1",h="Alarm Event Handling",d="16/alarm/alarm.png",g="<b><font color='red'>Only the newest and uncomfirmed %1 results are shown</font></b>",f="window title",c="statusAtom",b="track.alarm.AlarmWindow";
var a=40;
var e=20;
qx.Class.define(b,{extend:track.util.WindowWithHelpIcon,construct:function(r,s){track.util.WindowWithHelpIcon.call(this);
this.trackGui=r;
this.buddyTO=s;
this.alarmEventTableGroup=new track.alarm.AlarmEventTableGroup(this.trackGui,this);
this.eventLog=new track.alarm.EventLog(this.trackGui,this);
this.alarmManageGroup=new track.alarm.AlarmManageGroup(this.trackGui,this,this.alarmEventTableGroup);
this.eventManageGroup=new track.alarm.AlarmManageGroup(this.trackGui,this,this.eventLog);
this.autoConfirmGroup=new track.alarm.AutoConfirmGroup(this.trackGui,this);
this.guiGroups=new Array(this.alarmEventTableGroup,this.alarmManageGroup,this.autoConfirmGroup);
this.defaultBoxSpacing=0;
this.statusAtom=null;
this.setCaption(this.trc(f,h));
this.setIcon(xbGetIcon(d));
this.defaultGroupBoxContentPadding=4;
},members:{getAlarmWindowTop:function(){if(a>200)a=100;
a+=25;
return a;
},getAlarmWindowLeft:function(){if(e>350)e=250;
e+=25;
return e;
},onPreOpen:function(){return this.requestAlarmsFromServer();
},getBuddyTO:function(){return this.buddyTO;
},getDevice:function(){return this.buddyTO.getDevice();
},statusAtomShow:function(t){this.statusAtomRemove();
this.statusAtom=new qx.ui.basic.Atom(null);
this.statusAtom.setEnabled(true);
this.statusAtom.setRich(true);
this.statusAtom.setLabel(t);
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());
var u=new track.util.EnhancedTabView();
u.addPage(this.trc(p,l),this.alarmEventTableGroup.createGroup(this.defaultGroupBoxContentPadding));
u.addContent(this.alarmManageGroup.createGroup(this.defaultGroupBoxContentPadding));
u.addContent(this.autoConfirmGroup.createGroup(this.defaultGroupBoxContentPadding));
u.addPage(this.trc(p,k),this.eventLog.createGroup(this.defaultGroupBoxContentPadding));
u.addContent(this.eventManageGroup.createGroup(this.defaultGroupBoxContentPadding));
this.add(u);
this.open();
this.alarmChangedEventFunc=this.trackGui.watchee.getEventManager().addListener(q,function(v){var w=v.getData().device;

if(this.getDevice().getDeviceId()!=w.getDeviceId()){return;
}var x=v.getData().alarmTO;
this.info("AlarmWindow: Received alarmChanged event "+x.getRuleTypeId()+" for "+w.getDeviceId());

if(this.getDevice().getDeviceId()==w.getDeviceId()){if(x.isAttachedToRule()){this.alarmEventTableGroup.addAlarm(x,true);
}else{this.eventLog.addAlarm(x,true);
}}},this);
this.confirmAlarmsEventFunc=this.trackGui.watchee.getEventManager().addListener(m,function(y){var A=y.getData().loginName;

if(this.getDevice().getDeviceId()!=A){return ;
}var z=y.getData().alarmTOArr;

if(z!=null)this.info("AlarmWindow: Received confirmAlarms event for "+A+", count="+z.length);
else this.info("AlarmWindow: Received confirmAlarms event for all alarms from "+A);
},this);
this.addAlarmsEventFunc=this.trackGui.watchee.getEventManager().addListener(o,function(B){var C=B.getData().pcc;
var E=B.getData().hasMore;
var D=B.getData().loginName;

if(this.getDevice().getDeviceId()!=D){return ;
}this.info("AlarmWindow: Received "+C.size()+"addAlarms event, hasMore="+E);

if(E){this.statusAtomShow(this.trc(c,g,C.size()));
}else{this.statusAtomRemove();
}this.alarmEventTableGroup.addAlarms(new track.rulesmodel.AlarmsTO(this.trackGui,C));
this.eventLog.addAlarms(new track.rulesmodel.AlarmsTO(this.trackGui,C));
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(n,function(F){if(this.buddyTO==null||F==null||F.getData()==null||F.getData().buddyTO==null||this.buddyTO.getLoginName()!=F.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(j,i,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(q,this.alarmChangedEventFunc);
this.alarmChangedEventFunc=null;
}
if(this.confirmAlarmsEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(m,this.confirmAlarmsEventFunc);
this.confirmAlarmsEventFunc=null;
}
if(this.addAlarmsEventFunc!=null){this.trackGui.watchee.getEventManager().removeListener(o,this.addAlarmsEventFunc);
this.addAlarmsEventFunc=null;
}
if(this.updateFriendOfListenerFunc!=null){this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(n,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="countAlarms=",c="Received at",b="Alarm Events of %1",a="rulename",H="#FF0000",G=",countAlarmsAttachedToRules=0",F="No position found to display on map",E="Map",D=",countAlarmsAttachedToRules=",C="Take care",B="icon/16/apps/office-calendar.png",A="Comment",z="No permission to see alarms of %1",y="Confirm",t="track.alarm.AlarmEventTableGroup",u="Date",r="No matching rule found",s="Rule name",p="Type",q="Info",n="tooltip",o="cellClick",v="2009-07-01",w="groupbox title",x="undefined";
qx.Class.define(t,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(I,J){qx.core.Object.call(this);
this.trackGui=I;
this.alarmWindow=J;
this.groupBox=null;
this.alarmEventTable=null;
this.tableQX=null;
this.tableModel=null;
this.lastrow=-1;
var K=0;
this.COLUMN_CONFIRM_BUTTON=K++;
this.COLUMN_SHOWING_RULE_WINDOW=K++;
this.COLUMN_SHOWING_ON_MAP=K++;
this.COLUMN_RULE_TYPE=K++;
this.COLUMN_DATE=K++;
this.COLUMN_RULE_NAME=K++;
this.COLUMN_INFO=K++;
this.NUM_COLUMN=K;
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_NAME]=80;
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(L){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(w,b,this.getDevice().getNiceName()));
var M=new qx.ui.layout.VBox(0);
this.groupBox.setLayout(M);
this.groupBox.setContentPadding(L||12);
this.groupBox.add(this.__ts(),{left:0,top:0});
return this.groupBox;
},__ts:function(){var P=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
this.tableModel=new qx.ui.table.model.Simple();
this.tableModel.setColumns([this.trc(m,y),this.trc(m,q),this.trc(m,E),this.trc(m,p),this.trc(m,c),this.trc(m,s),this.trc(m,A)]);
this.tableModel.setColumnEditable(this.COLUMN_CONFIRM_BUTTON,true);
this.tableModel.setColumnSortable(this.COLUMN_CONFIRM_BUTTON,true);
var S=new qx.ui.table.Table(this.tableModel);
this.tableQX=S;
S.set({width:600,height:280,decorator:null});
var T=2;
var O=8;
S.setRowHeight(P+T);
S.setPadding(0);
S.setMargin(0);
S.setAlignY(g);
S.setForceLineHeight(true);
S.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION);
var R=S.getTableColumnModel();

for(var i=0,l=this.columnWidth.length;i<l;i++)R.setColumnWidth(i,this.columnWidth[i]+O);
R.setHeaderCellRenderer(this.COLUMN_DATE,new qx.ui.table.headerrenderer.Icon(B,u));
var Q=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
R.setDataCellRenderer(this.COLUMN_CONFIRM_BUTTON,new qx.ui.table.cellrenderer.Image(Q,P));
this.ruleImageRenderer=new qx.ui.table.cellrenderer.Image(Q,P);
R.setDataCellRenderer(this.COLUMN_SHOWING_RULE_WINDOW,this.ruleImageRenderer);
R.setDataCellRenderer(this.COLUMN_SHOWING_ON_MAP,new qx.ui.table.cellrenderer.Image(Q,P));
var N=R.getDataCellRenderer(this.COLUMN_RULE_TYPE);
R.setDataCellRenderer(this.COLUMN_INFO,new qx.ui.table.cellrenderer.String(g,H));
this.doDefaultSorting();
S.addListener(o,this.cellEventClicked,this);
this.enforcePermission();
return S;
},hasPermission:function(){var U=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM);
return U;
},enforcePermission:function(){var V=this.hasPermission();

if(V){this.tableQX.setToolTipText(null);
}else{this.resetData();
this.tableQX.setToolTipText(this.trc(n,z,this.alarmWindow.getBuddyTO().getLoginName()));
}},doDefaultSorting:function(W,X){var W=W||this.lastSortCol;

if(X===undefined)X=this.lastSortAsc;
this.tableModel.sortByColumn(W,X);
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!=x){var bc=ba.alarmTO;

if(bc!=null){return bc;
}}this.error("AlarmEventTable.js: Can't determine alarmTO");
return null;
},cellEventClicked:function(e){var bj=e.getRow();
var bi=e.getColumn();
var bd=this.getAlarmTO(bj);

if(bd==null)return;
if(bi==this.COLUMN_CONFIRM_BUTTON){if(this.lastrow!=bj){this.tableQX.getSelectionModel().setSelectionInterval(bj,bj);
this.confirmSelection();
this.lastrow=bj;
qx.event.Timer.once(function(e){this.lastrow=-1;
},this,200);
}}else if(bi==this.COLUMN_SHOWING_RULE_WINDOW||bi==this.COLUMN_RULE_NAME){var bg=bd.getDeviceId();

if(bg==null||bg==f)return;
var bh=this.trackGui.watchee.getDevice(bg);

if(bh==null)return;
var be=this.trackGui.getWindowManager().popupRulesWindow(bh,bd.getRuleTypeEnum(),bd.getRuleName(),bd,false);

if(be==null){this.trackGui.infoMsgBox(this.trc(k,r),10000);
}}else if(bi==this.COLUMN_SHOWING_ON_MAP){var bg=bd.getDeviceId();

if(bg==null||bg==f)return;
var bh=this.trackGui.watchee.getDevice(bg);

if(bh==null)return;
var bf=bd.getGpsData();

if(bf!=null&&bh!=null&&this.trackGui.watchee!=null){if(bh.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.trackGui.watchee.getMapManager().showAndCenterLocationByDevice(bh,bf);
return ;
}}this.trackGui.infoMsgBox(this.trc(k,F),10000);
}},resetData:function(){var bl=[[]];
this.info("resetData");

if(this.tableModel!=null){var bk=this.tableModel.getRowCount();
this.tableModel.removeRows(0,bk);
}},lookupAlarmById:function(bm){var bp=this.tableModel.getData();

for(var i=0,l=bp.length;i<l;i++){var bo=this.getAlarmTO(i);

if(bo!=null&&bo.getAlarmId()==bm){var bn={row:i,alarmTO:bo};
return bn;
}}return null;
},addAlarm:function(bq,br){if(!this.hasPermission())return;
var bq=bq||null;
var br=br||false;

if(bq==null)return;
var bt=this.__tt(bq);
var bs=this.lookupAlarmById(bq.getAlarmId());

if(bs!=null){this.tableModel.removeRows(bs.row,1);
}var bu=[];
bu.push(bt);
this.info("addAlarm: Pushing table rawData="+bu);
this.tableModel.addRows(bu);

if(br){this.doDefaultSorting();
}},addAlarms:function(bv){if(!this.hasPermission())return;
var bv=bv||null;
this.resetData();

if(bv==null)return;
var by=bv.getAlarms();
var bx=[];

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

if(!bw.isAttachedToRule())continue;
var bz=this.__tt(bw);
bx.push(bz);
}this.tableModel.addRows(bx);
this.doDefaultSorting();
},confirmSelection:function(){if(!this.hasPermission())return;
var bD=[];
var bB=[];
var bC=this.getDevice().getCountAlarms();
var bA=this.getDevice().getCountAlarmsAttachedToRules();
this.tableQX.getSelectionModel().iterateSelection(function(bE){var bF=this.getAlarmTO(bE);

if(bF==null)return;
bD.push(bF);
bB.push(bE);
},this);

if(bD.length==0){return ;
}this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bD);
bB.sort();

for(var i=bB.length-1;i>=0;i--)this.tableModel.removeRows(bB[i],1);
bC-=bB.length;
bA-=bB.length;
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),d+bC+D+bA);
},confirmAll:function(){if(!this.hasPermission())return;
var bH=null;
this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bH);
this.resetData();
var bG=this.getDevice().getCountAlarms();
bG-=this.getDevice().getCountAlarmsAttachedToRules();
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),d+bG+G);
},__tt:function(bI){var bJ=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bK=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+j));
var bN=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bL=new String(bI.getRuleTypeId());
bL.alarmTO=bI;
var bM=[bJ,bK,bN,bL,bI.getCreationTsNice(),bI.getRuleName(),bI.getNiceNameInfo()];
return bM;
},addTestData:function(){var bO=new track.rulesmodel.AlarmTO(this.trackGui);
bO.setRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE);
var bR=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bS=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+j));
var bQ=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bT=[bR,bS,bQ,net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.getId(),v,a,C];
var bP=[];
bP.push(bT);
this.info("testAlarm: Pushing table rawData="+bP);
this.tableModel.setData(bP);
},clear:function(){this.resetData();
}},destruct:function(){if(this.tableModel!=null){this.tableModel.dispose();
this.tableModel=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.__tu=c;
}
if(d){this.__tv=d;
}this.__tw=qx.util.AliasManager.getInstance();
},members:{__tw:null,__tv:16,__tu:16,_identifyImage:function(e){var f={imageWidth:this.__tu,imageHeight:this.__tv};

if(e.value==a){f.url=null;
}else{f.url=this.__tw.resolve(e.value);
}f.tooltip=e.tooltip;
return f;
}},destruct:function(){this.__tw=null;
}});
})();
(function(){var q="",p="ruleType",o="info",n="gpsData",m="ruleName",l="confirmLoginName",k="accountId",j=" (",i=")",h="deviceId",c="creationTs",g=" ",f="modifiedTs",b="track.rulesmodel.AlarmTO",a="__",e="alarmId",d="Alarm";
qx.Class.define(b,{extend:qx.core.Object,construct:function(r,s){qx.core.Object.call(this);
this.trackGui=r;

if(org.xmlBlaster.util.isDefined(s)){this.propertyCollection=s;
}else{this.propertyCollection=new net.watchee.PropertyCollection(d);
}this.gpsDataCached=null;
this.eventSinkInfoMapCache=null;
},members:{isAttachedToRule:function(){var t=this.getRuleName();
return t.indexOf(a)!=0;
},getAlarmId:function(){return this.propertyCollection.getStr(e,q);
},getRuleName:function(){return this.propertyCollection.getStr(m,q);
},setRuleName:function(u){this.propertyCollection.addKeyValue(m,u);
},getNiceNameInfo:function(){var v=this.getRuleTypeEnum().getDescription();
if(this.getInfo()!=q){v+=j+this.getInfo()+i;
}return v;
},getRuleTypeId:function(){var w=this.propertyCollection.getStr(p,q);
return w;
},getRuleTypeEnum:function(x){var y=this.getRuleTypeId();
return net.watchee.RuleTypeEnum.lookup(y,x);
},isRuleTypeEnum:function(z){return this.getRuleTypeEnum().isSame(z);
},setRuleTypeEnum:function(A){if(A.constructor==net.watchee.RuleTypeEnum)this.propertyCollection.addKeyValue(p,A.getId());
else this.propertyCollection.addKeyValue(p,A);
},getInfo:function(){return this.propertyCollection.getStr(o,q);
},setInfo:function(B){if(B==null||B.length<1)this.propertyCollection.remove(o);
else this.propertyCollection.addKeyValue(o,B);
},getEventSinkInfo:function(){return this.propertyCollection.getStr(org.xmlBlaster.util.PropTO.KEY_EVENTSINK_INFOCSV,q);
},getEventSinkInfoMap:function(){if(this.eventSinkInfoMapCache==null){this.eventSinkInfoMapCache=org.xmlBlaster.util.Hashtable.parseCSV(this.getEventSinkInfo());
}return this.eventSinkInfoMapCache;
},getGpsDataStr:function(){return this.propertyCollection.getStr(n,null);
},setGpsDataStr:function(C){if(C==null||C.length<1)this.propertyCollection.remove(n);
else this.propertyCollection.addKeyValue(n,C);
},getGpsData:function(){if(this.gpsDataCached!=null)return this.gpsDataCached;
var D=this.getGpsDataStr();

if(D!=null&&D!=q)this.gpsDataCached=new net.watchee.GPSData(D,null);
return this.gpsDataCached;
},setGpsDataCached:function(E){this.gpsDataCached=E||null;
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTsNice:function(){var F=this.getCreationTs();
return org.xmlBlaster.util.getDateStrFromIsoDateStr(F)+g+org.xmlBlaster.util.getTimeStrFromIsoDateStr(F);
},getCreationTs:function(){return this.propertyCollection.getStr(c,q);
},getModifiedTs:function(){return this.propertyCollection.getStr(f,q);
},getConfirmLoginName:function(){return this.propertyCollection.getStr(l,q);
},setConfirmLoginName:function(G){this.propertyCollection.addKeyValue(l,G);
},getDeviceId:function(){return this.propertyCollection.getStr(h,q);
},getAccountId:function(){return this.propertyCollection.getStr(k,q);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="tableHeader",k=",countAlarmsAttachedToRules=",j="icon/16/apps/office-calendar.png",h="/alarm/alarmConfirm.png",g="middle",f="countAlarms=",d="Received at",c="Take care",b="#FF0000",a="No position found to display on map",F="Map",E="Triggered at",D="info box",C="Comment",B="No permission to see alarms of %1",A="/alarm/alarmShowRuleWindow.png",z="Confirm",y="groupbox title",x="",w="Date triggered",t="Event log of %1",u="Type",r="track.alarm.EventLog",s="tooltip",p="cellClick",q="2009-07-01",n="Date",o="2009-07-01 13:65:78",v="undefined";
qx.Class.define(r,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(G,H){qx.core.Object.call(this);
this.trackGui=G;
this.alarmWindow=H;
this.groupBox=null;
this.alarmEventTable=null;
this.tableQX=null;
this.tableModel=null;
this.lastrow=-1;
var I=0;
this.COLUMN_CONFIRM_BUTTON=I++;
this.COLUMN_SHOWING_ON_MAP=I++;
this.COLUMN_RULE_TYPE=I++;
this.COLUMN_DATE_TRIGGERED=I++;
this.COLUMN_DATE=I++;
this.COLUMN_INFO=I++;
this.NUM_COLUMN=I;
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_ON_MAP]=this.ICON_WIDTH;
this.columnWidth[this.COLUMN_RULE_TYPE]=120;
this.columnWidth[this.COLUMN_DATE_TRIGGERED]=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(J){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(y,t,this.getDevice().getNiceName()));
var K=new qx.ui.layout.VBox(0);
this.groupBox.setLayout(K);
this.groupBox.setContentPadding(J||12);
this.groupBox.add(this.__tx(),{left:0,top:0});
return this.groupBox;
},__tx:function(){var N=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
this.tableModel=new qx.ui.table.model.Simple();
this.tableModel.setColumns([this.trc(m,z),this.trc(m,F),this.trc(m,u),this.trc(m,E),this.trc(m,d),this.trc(m,C)]);
this.tableModel.setColumnEditable(this.COLUMN_CONFIRM_BUTTON,true);
this.tableModel.setColumnSortable(this.COLUMN_CONFIRM_BUTTON,true);
var Q=new qx.ui.table.Table(this.tableModel);
this.tableQX=Q;
Q.set({width:600,height:280,decorator:null});
var R=2;
var M=8;
Q.setRowHeight(N+R);
Q.setPadding(0);
Q.setMargin(0);
Q.setAlignY(g);
Q.setForceLineHeight(true);
Q.getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION);
var P=Q.getTableColumnModel();

for(var i=0,l=this.columnWidth.length;i<l;i++)P.setColumnWidth(i,this.columnWidth[i]+M);
P.setHeaderCellRenderer(this.COLUMN_DATE,new qx.ui.table.headerrenderer.Icon(j,n));
P.setHeaderCellRenderer(this.COLUMN_DATE_TRIGGERED,new qx.ui.table.headerrenderer.Icon(j,w));
var O=this.columnWidth[this.COLUMN_CONFIRM_BUTTON];
P.setDataCellRenderer(this.COLUMN_CONFIRM_BUTTON,new qx.ui.table.cellrenderer.Image(O,N));
this.ruleImageRenderer=new qx.ui.table.cellrenderer.Image(O,N);
P.setDataCellRenderer(this.COLUMN_SHOWING_ON_MAP,new qx.ui.table.cellrenderer.Image(O,N));
var L=P.getDataCellRenderer(this.COLUMN_RULE_TYPE);
P.setDataCellRenderer(this.COLUMN_INFO,new qx.ui.table.cellrenderer.String(g,b));
this.doDefaultSorting();
Q.addListener(p,this.cellEventClicked,this);
this.enforcePermission();
return Q;
},hasPermission:function(){var S=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM);
return S;
},enforcePermission:function(){var T=this.hasPermission();

if(T){this.tableQX.setToolTipText(null);
}else{this.resetData();
this.tableQX.setToolTipText(this.trc(s,B,this.alarmWindow.getBuddyTO().getLoginName()));
}},doDefaultSorting:function(U,V){var U=U||this.lastSortCol;

if(V===undefined)V=this.lastSortAsc;
this.tableModel.sortByColumn(U,V);
this.tableQX.updateAppearance();
},getAlarmTO:function(W){var Y=this.tableModel.getRowData(W);
Y=Y||null;

if(Y==null)return;
var X=Y[this.COLUMN_RULE_TYPE];

if(typeof X.alarmTO!=v){var ba=X.alarmTO;

if(ba!=null){return ba;
}}this.error("AlarmEventTable.js: Can't determine alarmTO");
return null;
},cellEventClicked:function(e){var bg=e.getRow();
var bf=e.getColumn();
var bb=this.getAlarmTO(bg);

if(bb==null)return;
if(bf==this.COLUMN_CONFIRM_BUTTON){if(this.lastrow!=bg){this.tableQX.getSelectionModel().setSelectionInterval(bg,bg);
this.confirmSelection();
this.lastrow=bg;
qx.event.Timer.once(function(e){this.lastrow=-1;
},this,200);
}}else if(bf==this.COLUMN_SHOWING_ON_MAP){var bd=bb.getDeviceId();

if(bd==null||bd==x)return;
var be=this.trackGui.watchee.getDevice(bd);

if(be==null)return;
var bc=bb.getGpsData();

if(bc!=null&&be!=null&&this.trackGui.watchee!=null){if(be.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.trackGui.watchee.getMapManager().showAndCenterLocationByDevice(be,bc);
return ;
}}this.trackGui.infoMsgBox(this.trc(D,a),10000);
}},resetData:function(){var bi=[[]];
this.info("resetData");

if(this.tableModel!=null){var bh=this.tableModel.getRowCount();
this.tableModel.removeRows(0,bh);
}},lookupAlarmById:function(bj){var bm=this.tableModel.getData();

for(var i=0,l=bm.length;i<l;i++){var bl=this.getAlarmTO(i);

if(bl!=null&&bl.getAlarmId()==bj){var bk={row:i,alarmTO:bl};
return bk;
}}return null;
},addAlarm:function(bn,bo){if(!this.hasPermission())return;
var bn=bn||null;
var bo=bo||false;

if(bn==null)return;
var bq=this.__ty(bn);
var bp=this.lookupAlarmById(bn.getAlarmId());

if(bp!=null){this.tableModel.removeRows(bp.row,1);
}var br=[];
br.push(bq);
this.info("addAlarm: Pushing table rawData="+br);
this.tableModel.addRows(br);

if(bo){this.doDefaultSorting();
}},addAlarms:function(bs){if(!this.hasPermission())return;
var bs=bs||null;
this.resetData();

if(bs==null)return;
var bv=bs.getAlarms();
var bu=[];

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

if(bt.isAttachedToRule())continue;
var bw=this.__ty(bt);
bu.push(bw);
}this.tableModel.addRows(bu);
this.doDefaultSorting();
},confirmSelection:function(){if(!this.hasPermission())return;
var bA=[];
var by=[];
var bz=this.getDevice().getCountAlarms();
var bx=this.getDevice().getCountAlarmsAttachedToRules();
this.tableQX.getSelectionModel().iterateSelection(function(bB){var bC=this.getAlarmTO(bB);

if(bC==null)return;
bA.push(bC);
by.push(bB);
},this);

if(bA.length==0){return ;
}this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bA);
by.sort();

for(var i=by.length-1;i>=0;i--)this.tableModel.removeRows(by[i],1);
bz-=by.length;
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),f+bz+k+bx);
},confirmAll:function(){if(!this.hasPermission())return;
var bE=null;
this.trackGui.confirmAlarms(this.alarmWindow.getBuddyTO().getLoginName(),bE);
this.resetData();
var bD=this.getDevice().getCountAlarmsAttachedToRules();
this.trackGui.watchee.getRuleManager().fireCountAlarms(this.getDevice().getDeviceId(),f+bD+k+bD);
},__ty:function(bF){var bJ=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bK=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+A));
var bI=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bH=new String(bF.getRuleTypeId());
bH.alarmTO=bF;
var bG=bF.getGpsData().getLocalTsIsoStr();
var bL=[bJ,bI,bH,bG,bF.getCreationTsNice(),bF.getNiceNameInfo()];
return bL;
},addTestData:function(){var bN=new track.rulesmodel.AlarmTO(this.trackGui);
bN.setRuleTypeEnum(net.watchee.RuleTypeEnum.GEOFENCE_LEAVE);
var bM=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(xbGetIcon(this.ICON_WIDTH+h));
var bP=this.trackGui.veryBadHackToTriggerPNGLoadForAlarmTable(this.getDevice().getShowingOnMapIcon(this.ICON_WIDTH));
var bO=[bM,bP,net.watchee.RuleTypeEnum.GEOFENCE_LEAVE.getId(),q,o,c];
var bQ=[];
bQ.push(bO);
this.info("testAlarm: Pushing table rawData="+bQ);
this.tableModel.setData(bQ);
},clear:function(){this.resetData();
}},destruct:function(){if(this.tableModel!=null){this.tableModel.dispose();
this.tableModel=null;
}}});
})();
(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,q){qx.core.Object.call(this);
this.trackGui=o;
this.alarmWindow=p;
this.groupBox=null;
this.confirmButton=null;
this.deleteAllButton=null;
this.tableHandle=q;
},members:{createGroup:function(r){var w=new qx.ui.groupbox.GroupBox(this.trc(d,i));
this.groupBox=w;
var s=new qx.ui.layout.Grid(6,2);
w.setLayout(s);
w.setContentPadding(r||12);
var x=0;
var u=0;
var v=1;
var t=2;
s.setColumnAlign(0,a,c);
this.confirmButton=new qx.ui.form.Button(this.trc(l,b),xbGetIcon(n));
this.confirmButton.setEnabled(true);
w.add(this.confirmButton,{row:x,column:u});
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.tableHandle.confirmSelection();
},this);
this.deleteAllButton=new qx.ui.form.Button(this.trc(l,j),xbGetIcon(n));
this.deleteAllButton.setEnabled(true);
w.add(this.deleteAllButton,{row:x,column:t});
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.tableHandle.confirmAll();
},this);
this.enforcePermission();
return w;
},hasPermission:function(){var y=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM);
return y;
},enforcePermission:function(){var z=this.hasPermission();
this.confirmButton.setEnabled(z);

if(z){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",k="infoMsgBox",j="alarmAutoConfirm",h="tooltip",g="changeValue",f="16/actions/dialog-ok.png",d="button",c="execute",b="No permission to change configuration of %1",a="Save the changes made for %1",C="16/actions/dialog-cancel.png",B="changeSelection",A="middle",z=": ",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(D,E){qx.core.Object.call(this);
this.trackGui=D;
this.alarmWindow=E;
this.groupBox=null;
this.programmaticSetSelected=false;
this.ruleTypesSelectBox=null;
this.confirmButton=null;
this.alarmAutoConfirmHashtable=new org.xmlBlaster.util.Hashtable();
this.okIcon=xbGetQxIcon(f);
this.noIcon=xbGetQxIcon(C);
},members:{createGroup:function(F){try{var H=new qx.ui.groupbox.GroupBox(this.trc(n,u));
H.setContentPadding(F);
this.groupBox=H;
var G=new qx.ui.layout.HBox().set({spacing:10,alignY:A});
H.setLayout(G);
this.ruleTypesSelectBox=new qx.ui.form.SelectBox();
this.ruleTypesSelectBox.setWidth(260);
H.add(this.ruleTypesSelectBox);
this.ruleTypesSelectBox.addListener(B,function(e){if(this.programmaticSetSelected)return ;
var I=(e.getData().length==0)?null:e.getData()[0];
this.__tD(I);
},this);
this.checkBox=new qx.ui.form.CheckBox(this.trc(r,t));
this.checkBox.setValue(true);
this.checkBox.addListener(g,function(e){if(this.programmaticSetSelected)return ;
var K=this.ruleTypesSelectBox.getSelection()[0];
var J=e.getData();
this.__tB(K,J);
},this);
H.add(this.checkBox);
this.confirmButton=new qx.ui.form.Button(this.trc(d,s),xbGetIcon(y));
this.confirmButton.setEnabled(true);
H.add(this.confirmButton);
this.confirmButton.addListener(c,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.__tE();
},this);
this.populateRules();
this.enforcePermission();
return H;
}catch(L){this.trackGui.errorMsgBoxDeveloper(w,L);
return null;
}},hasPermission:function(){var M=this.alarmWindow.getBuddyTO().hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);
return M;
},enforcePermission:function(){var N=this.hasPermission();
this.confirmButton.setEnabled(N);
this.checkBox.setEnabled(N);

if(N){this.confirmButton.setToolTipText(this.trc(h,a,this.alarmWindow.getBuddyTO().getLoginName()));
}else{this.confirmButton.setToolTipText(this.trc(h,b,this.alarmWindow.getBuddyTO().getLoginName()));
}},populateRules:function(){if(this.ruleTypesSelectBox==null)return;
this.programmaticSetSelected=true;
this.alarmAutoConfirmHashtable=this.alarmWindow.getBuddyTO().getAccountPropertyHashtable(j,null);
this.ruleTypesSelectBox.removeAll();

for(var i=0,l=net.watchee.RuleTypeEnums.length;i<l;i++){var O=net.watchee.RuleTypeEnums[i];

if(O.isSame(net.watchee.RuleTypeEnum.GEOFENCE))continue;
var Q=this.alarmAutoConfirmHashtable.contains(O.getId())?this.okIcon:this.noIcon;
var P=new qx.ui.form.ListItem(O.getId(),Q,O.getId());
P.setToolTipText(O.getId()+z+O.getDescription());
P.setUserData(m,O);
this.ruleTypesSelectBox.add(P);
}this.__tz();
this.ruleTypesSelectBox.updateAppearance();
this.programmaticSetSelected=false;
},__tz:function(){var R=track.util.GuiUtils.getSelectedUserData(this.ruleTypesSelectBox,m);
var S=this.alarmAutoConfirmHashtable.contains(R.getId());
this.checkBox.setValue(S);
},__tA:function(T){if(this.ruleTypesSelectBox==null)return;
var U=this.ruleTypesSelectBox.getChildren();

for(var i=0,l=U.length;i<l;i++){if(T!=U[i])return U[i];
}},__tB:function(V,W){if(V==null)return false;
var X=W?this.okIcon:this.noIcon;
V.setIcon(X);
},__tC:function(Y){if(Y==null)return false;
var ba=(Y.getIcon()==this.okIcon);
return ba;
},__tD:function(bb){if(bb==null)return ;
var bc=bb.getUserData(m);
var bd=this.__tC(bb);
this.checkBox.setValue(bd);
},__tE:function(){if(this.trackGui.watchee==null)return;

if(this.ruleTypesSelectBox==null)return;

if(!this.hasPermission()){this.trackGui.infoMsgBox(this.trc(k,q,this.alarmWindow.getBuddyTO().getLoginName()));
return;
}var bl=[];
var bf=this.ruleTypesSelectBox.getChildren();

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

if(this.__tC(bi)){var bk=bi.getUserData(m);
bl.push(bk.getId());
}}var be=this.alarmWindow.getBuddyTO().getLoginName();
var bj=j;
var bg=org.xmlBlaster.util.arrayToCsv(bl,o);
var bh=bg;
this.trackGui.sendChangeAccountProperty(be,bj,bg,this.responseOrExceptionOrTimeoutReceived,this,bh);
},responseOrExceptionOrTimeoutReceived:function(bm,bn,bo){this.info("AutoConfirmGroup.js Received response: "+bm);
var br=bn;
var bq=org.xmlBlaster.util.PropTO;
var bp=null;

if(bm==null){bp=this.trc(k,v,bo.timeoutSec);
}else if(bm.isException()){bp=bm.getErrorHtmlMessage();
}else{bp=this.trc(k,p);
}this.trackGui.infoMsgBox(bp);
},clear:function(){}},destruct:function(){}});
})();
(function(){var b="Alarm",a="track.rulesmodel.AlarmsTO";
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;
this.alarmTOArray=this.__tF(this.propertyCollections);
}else{this.propertyCollections=new net.watchee.PropertyCollections();
this.alarmTOArray=[];
}},members:{__tF:function(e){var f=[];
var j=null;
var g=e.getPropertyCollections();

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

if(b==h.getClazz()){j=new track.rulesmodel.AlarmTO(this.trackGui,h);
f.push(j);
}else{this.error("AlarmsTO.js: Unexpected clazz in Alarm PCC: "+e.toXml());
}}return f;
},getAlarms:function(){return this.alarmTOArray;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var dX="setSetting",dW="bool",dV="doAction",dU="1",dT="int",dS="",dR="password",dQ="action",dP="type",dO="checkbox",cs="_action",cr="removeInputControl",cq='Send',cp="240000",co="html",cn='options',cm="phonenumber",cl="infoMsgBox",ck="options",cj="0",ef='type',eg="loginPost",ed="useBluetoothApi",ee="trackingRate:old",eb="<b><font color='#FF0000'>Unexpected</font></b> ",ec="minimizeOnStartup",dY='validationFunc',ea="smsRegister",eh="Milliseconds to wait for ping response",ei="Defaults to 100, for C702 try 86 percent",dp="sms=true",dn="Tracking to server switch on/off",dr="default,small,medium,big",dq="BlackBerry:encoding=video/3gpp  k610i:encoding=jpeg&width=160&height=120 others: null",dt="addInputControl",ds="sendSMS=1,phoneNumber=+491754616132,port=50412,show=true,sms=Hello World",dw='Info',du="validationFunc",dm="photoSize",dl="regExp",n="Sgprs",o="mapRadius",p="setDisplay",q="gpsConnectOnStartup",r="locationApiIntervalSec",s="Vibration feedback to user",t="sendSMS",u="supportPhone",v="createVideoPlayerPostix",w="setInputValue",ex="takeConnectionQueue",ew="Destroy first number of outgoing messages",eu="User interaction if SMS arrives",et="Trigger a phone call",eB="Adjust logging level",eA="serverConnectOnStartup",ez="trackingOnStartup",ey="Qst=t",eD="exitMidlet",eC="cbPingInterval",bp="registerLaunchMidlet",bq="External GPS chip",bn='resp',bo="pingInterval",bt="Send the mobile phone logging to server (publish to topic device.xxxxxx.cfg)",bu="=",br="0.8",bs="Internal GPS chip",bl="100",bm="trackingRate:",Q="Str",P="Display a Message Box",S='DblCick',R="autostart",M='regExp',L="publishNMEA",O='[0-9]+',N="clearConnectionQueue",K='Use only numbers!',J="hostname",bA="captureAudio=1,captureAudioSec=5,interactive=false",bB="60000",bC="float",bD="pingResponseTimeout",bw="string",bx="Internal GPS chip query interval, 1sec for Phones, 8sec for BlackBerry",by="300",bz="useGpsSerialApi",bE="Server IP, 188.40.32.151=gpsvision, 88.198.105.108=watchee, forstw-test=194.120.23.2",bF="Telephone number customer support",be="latlonDisplay",bd="Record sound",bc="containerId=POI,id=waggonnr,value=70",bb="123456",ba="trackingRate:S",Y="Strv=0,Strt=1,Strc=1,Strd=-1,Strs=0",X="GPRS switch on/off",W="Auto Tracking on MIDLet startup",bi="dataChanged",bh="Remove all GUI lines",bG="getLog",bH="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",cA="combobox",cz="3412",cy="GPS switch on/off",cx="Window-title",cE="<b><font color='green'>Success</font></b> ",cD="encoding=jpeg&width=240&height=320 BlackBerry:encoding=jpeg&width=480&height=360&quality=normal",cC="Add an new GUI line, choose row>100 and <1000",cB="Server Port: 3412(gpsvision/watchee compressed); 3411 uncompressed",cI="Defaults to 40",cH="showTakePhoto",dg="captureAudio",dh=" ",de="40",df="makePhoneCall",dc=" sec",dd="trackingRate:V",da="screenHeightPercent",db="Qst",di="clearConnectionQueue=1,interactive=false",dj="Size of Icons [pixel]",dB="photo",dA=")",dD="maxLogEntries",dC="Command is send to %1 over SMS<br />The response will take about one minute, please wait<br /><br /><i>%2</i>",dF="How many positions to tail back on phone if GPRS is lost",dE="publishNMEA=1,nmea=$GPRMC,120333.931,A,4745.7901,N,00911.0797,E,000.0,324.1,220608,,,A*62",dH="minimize,overview,mainMenu,configureMenu,settings,info,buddies,buddiesSelect,xsms,xsmsInbox,xsmsOutbox",dG="Automatically start application on phone boot (Sony Ericsson only, else use 'registerLaunchMidlet')",dy="degminsec,decimal",dx="Set track name, if not a date it is not switched on midnight",ep="Remove a GUI line",eq="sms",er="sendIntervalAtMinSpeed,sendIntervalAtMaxSpeed,speedForMaxInterval(0==off),sendIntervalHeartBeat(0==off),minSpeedForHeadingChangeThreshold,headingChangeThreshold(0==off)[,distanceMeter(0==off)|TimerStartCmd,TimerStopCmd]",es="takeConnectionQueue=1,numMessages=1,interactive=false",el="incrementalResponse=true",em="INFO,DEBUG,NONE,ERROR,WARN",en="Tracking settings: Speed,Heartbeat,Course,Distance,StopAndGo,TimerStartCmd,TimerStopCmd",eo="Milliseconds to for server to wait for update ACK",ej="Display button to capture audo clips",ek="Clear outgoing messages",m="track.admin.TestDeviceWindow",k="Format of Lat/Lon displayed",j="Milliseconds to ping mobile phone",h="editable",g="required",f=" (",d="50412",c="updateResponseTimeout",b='Response/Exception',a="updateMidlet",z="Take a photo",A="Auto GPRS connect",x="Feed GPS to OpenCellid.org",y="clearAll",D="Register in push registry to start midlet again in given seconds (see also 'autostart' for Sony Ericsson devices)",E="useLocationApi",B="port",C="SMS-Port",G="vibrate",H="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",cM="Change server password",cG="showMsg",cT="26",cP="Milliseconds to ping server (0=off)",cv="---",ct='Query track',U="Change value of a GUI line",cw=",bounce=",bg='Infotext',bf="queued=true",ca="Query current position (Query Sentencetype Track)",cb="Display button to take photos",cc="Send a SMS",cd="smsAsk",ce="containerId=POI,id=waggonnr",cf="showCaptureAudio",cg="Tracking activation: Speed,Heartbeat,Course,Distance,StopAndGo; 0=off,-1=undef,1=on",ch='Qst=t',bW="Sgps",bX="Raw configure device %1",cu="600000",cS="<b><font color='red'>Timeout</font></b>, no response after ",cR='Doubleclick on cell to edit value',cQ="registerLaunchMidlet=1,secondsFromNow=30",cX="Defaults to 50412, FwMobile to 50414",cW="Minimize MIDlet or load menu",cV="<b><font color='brown'>SMS send</font></b> ",cU="Command is send to %1<br /><br /><i>%2</i>",cO="updateMidlet=1,ask=false,url=http://gpsvision.biz/jsec,exitMIDlet=-1",cN="trackName",F="makePhoneCall=1,phoneNumber=+491754616132",bk="188.40.32.151",bj="Vtrmin=120,Vtrmax=30,Vtrvmax=80,Vtrt=240,Vtrcvmin=4,Vtrc=30,Vtrd=5000,Vtrs=4,Vtrstart=void,Vtrstop=void",cF="OTA",bv="After startup of MIDlet hide it",cL="logLevel",cK="Clear all property settings (and user data in record store?)",cJ="trackingRate",T="showMsg=1,msgbox.title=From Server,msgbox.message=Hello World,msgbox.type=INFO,msgbox.sec=3",cY='Property Name',I="Avoid screen saver on some phone models",V="cellDblclick",bQ='task',bR="16/apps/preferences-desktop-multimedia.png",bS="appendCellId",bT="+497551309371",bU="<b><font color='red'>",bV="Download new MIDlet version",dk="Auto GPS connect",bY='int',dJ="maxNumOfEntries",dI="Stop the application",dL="email",dK="Serial cable GPS chip",dN="Map radius in km",dM='Type',ci="<b><font color='yellow'>Queued</font></b> ",dz=",";
var eE=0;
qx.Class.define(m,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(eF){qx.core.Object.call(this);
this.trackGui=eF;
this.deviceId=dS;
this.propertyEditor=null;

if(this.trackGui.watchee!=null){this.deviceId=this.trackGui.watchee.getLoginName();
}this.loginPostListenerFunc=null;
this.window=null;
var eG=0;
this.COLUMN_BUTTON=eG++;
this.COLUMN_TYPE=eG++;
this.COLUMN_INFO=eG++;
this.COLUMN_KEY=eG++;
this.COLUMN_VALUE=eG++;
this.COLUMN_RESPONSE=eG++;
eE=eG++;
this.headerLabels=[S,dM,dw,cY,cR,b];
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(eH){if(this.deviceId!=eH){this.resetData();
}this.deviceId=eH;
this.setCaption();
},initForDeviceId:function(eI){this.setDeviceId(eI);
var eJ=this.fillDeviceData();
if(!eJ)this.trackGui.sendGetDeviceCommandList(eI);
},resetData:function(){this.tableData=[[]];
this.info("resetData");

if(this.propertyEditor!=null){this.propertyEditor.getTableModel().setData(this.tableData);
}},setCaption:function(){var eK=(org.xmlBlaster.util.isFilled(this.deviceId))?this.deviceId:cv;
var eL=this.trc(cx,bX,eK);

if(this.window!=null)this.window.setCaption(eL);
return eL;
},showForm:function(eM){if(org.xmlBlaster.util.isDefined(eM)){this.deviceId=eM;
}var eN=new qx.ui.window.Window(this.setCaption(),xbGetQxIcon(bR));
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(eg,function(eO){if(this.getDevice()!=null&&this.getDevice().getDeviceInfo().isBlackbox()){this.trackGui.sendGetDeviceCommandList(this.deviceId);
}},this);
eN.open();
return eN;
},__tG: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 eP={tableColumnModel:function(eR){return new qx.ui.table.columnmodel.Resize(eR);
}};
this.propertyEditor=new qx.ui.table.Table(this.tableModel,eP);
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 eQ=this.propertyEditor.getTableColumnModel();
eQ.getBehavior().setWidth(this.COLUMN_BUTTON,this.columnWidth[this.COLUMN_BUTTON]);
eQ.getBehavior().setWidth(this.COLUMN_TYPE,this.columnWidth[this.COLUMN_TYPE]);
eQ.getBehavior().setWidth(this.COLUMN_INFO,this.columnWidth[this.COLUMN_INFO]);
eQ.getBehavior().setWidth(this.COLUMN_KEY,this.columnWidth[this.COLUMN_KEY]);
eQ.getBehavior().setWidth(this.COLUMN_VALUE,this.columnWidth[this.COLUMN_VALUE]);
this.tableModel.setColumnEditable(this.COLUMN_VALUE,true);
eQ.setDataCellRenderer(this.COLUMN_VALUE,this.propertyCellRendererFactory);
eQ.setCellEditorFactory(this.COLUMN_VALUE,this.propertyCellEditorFactory);
eQ.setDataCellRenderer(this.COLUMN_RESPONSE,this.responseCellRendererFactory);
eQ.getBehavior().setWidth(this.COLUMN_RESPONSE,this.columnWidth[this.COLUMN_RESPONSE]);
this.propertyEditor.getTableModel().setData(this.tableData);
this.propertyEditor.getTableModel().addListener(bi,function(event){if(!(event instanceof qx.event.type.Data)){return;
}var eV=event.getData();
var eS=this.getTableModel();
var eU=eS.getValue(0,eV.firstRow);
var eT=eS.getValue(eV.firstColumn,eV.firstRow);
this.info("User edited property '"+eU+"' and entered value '"+eT+"'.");
},this.propertyEditor);
this.propertyEditor.addListener(V,function(e){var fd=e.getRow();
var fc=e.getColumn();
this.info("User dblclicked "+e.getType()+" row="+fd+" col="+fc);

if(this.COLUMN_BUTTON==e.getColumn()){this.info("User dblclicked COLUMN_BUTTON");

if(this.getDevice().getDeviceInfo().isBlackbox()){this.info("User dblclicked BlackBox");
var fa=this.tableModel.getValue(this.COLUMN_KEY,fd);
var fb=this.tableModel.getValue(this.COLUMN_TYPE,fd);
var eX=this.tableModel.getValue(this.COLUMN_VALUE,fd);
var eW=this.tableModel.getValue(this.COLUMN_INFO,fd);
var eY=eX;

if(fa.length>0&&fa.indexOf(bu)!=-1){if(fb==dW){eY=fa+((eX==true)?1:0);
}else{eY=fa+eX;
}}this.info("User dblclicked BlackBox command="+eY);
this.__tI(eY,fd);
}else{this.info("User dblclicked no BlackBox");
this.__tH(fd);
}}},this);
return this.propertyEditor;
},responseOrExceptionOrTimeoutReceived:function(fe,ff,fg){var fn=ff;
var fj=org.xmlBlaster.util.PropTO;
var fl=null;
var fi=(fe!=null)?fe.getPropValue(fj.KEY_RESULT_CSVFLAG):null;
var fk=(fi!=null&&fi.indexOf(bf)!=-1);
var fm=(fi!=null&&fi.indexOf(el)!=-1);
var fh=(fi!=null&&fi.indexOf(dp)!=-1);

if(fm){fg.requestResponseDispatcher.extendTimeout(fg.bounceId,fg.timeoutSec);
}
if(fe==null){fl=cS+fg.timeoutSec+dc;
}else if(fe.isException()){fl=dS;
fl+=bU+fe.getPropValue(fj.KEY_ERRORCODE)+bN;
fl+=dh+fe.getPropValue(fj.KEY_RESULT);
fl+=f+fe.getPropValue(fj.KEY_DATA)+dA;
}else{if(fe.getPropValue(fj.KEY_TASK)==net.watchee.Device.VALUE_TASK_NAMED_GETCOMMANDLIST){fl=eb+fe.getPropValue(fj.KEY_RESULT);
}else if(fm&&fh){fl=cV+fe.getPropValue(fj.KEY_RESULT);
}else if(fk){fl=ci+fe.getPropValue(fj.KEY_RESULT);
}else{fl=cE+fe.getPropValue(fj.KEY_RESULT);
}}if(fn!=null)this.tableModel.setValue(this.COLUMN_RESPONSE,fn,fl);
},__tH:function(fo){if(this.trackGui.watchee==null)return;
var fx=this.tableModel.getValue(this.COLUMN_KEY,fo);
var fA=this.tableModel.getValue(this.COLUMN_TYPE,fo);
var fv=dS+this.tableModel.getValue(this.COLUMN_VALUE,fo);
var fB=this.tableModel.getValue(eE,fo);
var fq=fB[bQ];
var fp=this.tableModel.getValue(this.COLUMN_INFO,fo);
var fr=org.xmlBlaster.util.Hashtable.parseCSV(fv);
var ft=fr.getKeys();

if(fq==dV){var fu=new net.watchee.PropertyCollection();
fu.add(new net.watchee.PropertyPair(dP,fx));

if(fA==dW){var fy=dS+fv;
fu.add(new net.watchee.PropertyPair(dQ,fy));
fu.add(new net.watchee.PropertyPair(cs,fy));
}else if(fA==this.TYPE_CSV){var fy=dS+fv;
fu.add(new net.watchee.PropertyPair(dQ,fy));
fu.add(new net.watchee.PropertyPair(cs,fy));
}else{for(var i=0,l=ft.length;i<l;i++){var fs=ft[i];

if(fs==fx){var fy=fr.get(fs);
fu.add(new net.watchee.PropertyPair(dQ,fy));
fu.add(new net.watchee.PropertyPair(cs,fy));
}else{var fz=fr.get(fs);
fu.add(new net.watchee.PropertyPair(fs,fz));
}}}this.trackGui.sendActionToDevice(this.getDevice().getLoginName(),fu);
}else if(fq==dX){var fu=new net.watchee.PropertyCollection();
if(fx.indexOf(bm)==0){fx=cJ;
}var fw=new net.watchee.PropertyPair(fx,fv);
fw.setDurable(true);
fu.add(fw);
this.trackGui.sendDeviceSettings(this.getDevice().getLoginName(),fu);
}},__tI:function(fC,fD){var fH=this.trackGui.getBounceNextVal();
fC=fC+cw+fH;
var fG=eq;
this.info("Sending command '"+fC+"'");
var fE=fD;
var fF=this.RESPONSE_TIMEOUT_SEC;

if(fC.indexOf(cF)){fF=180;
}this.trackGui.getRequestResponseDispatcher().registerRequest(fH,fF,this.responseOrExceptionOrTimeoutReceived,this,fE);
this.trackGui.sendRawDeviceCommand(this.deviceId,fH,fC,fG);
if(this.getDevice()!=null&&this.getDevice().getDeviceInfo().supportsSmsConfigurationOnly()){this.trackGui.infoMsgBox(this.trc(cl,dC,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(fI){return new qx.ui.table.cellrenderer.Html();
},propertyCellRendererFactoryFunc:function(fJ){var fP=fJ.table;
var fM=fP.getTableModel();
var fN=fM.getRowData(fJ.row);
var fQ=fN[eE];
var fO;

for(var fL in fQ){switch(fL){case dP:switch(fQ[ef]){case dO:return new qx.ui.table.cellrenderer.Boolean;
case co:return new qx.ui.table.cellrenderer.Html;
case dR:return new qx.ui.table.cellrenderer.Password;
}break;
case ck:var fO=new qx.ui.table.cellrenderer.Replace;
var fK={};
fQ[cn].forEach(function(fR){if(fR instanceof Array){fK[fR[0]]=fR[2];
}});
fO.setReplaceMap(fK);
fO.addReversedReplaceMap();
return fO;
}}return new qx.ui.table.cellrenderer.Default();
},propertyCellEditorFactoryFunc:function(fS){var fX=fS.table;
var fV=fX.getTableModel();
var fW=fV.getRowData(fS.row);
var ga=fW[eE];
var fU=new qx.ui.table.celleditor.TextField;
var fY=null;

for(var fT in ga){switch(fT){case ck:if(ga.editable){fU=new qx.ui.table.celleditor.ComboBox();
}else{fU=new qx.ui.table.celleditor.SelectBox();
}fU.setListData(ga[cn]);
break;
case h:break;
case dP:switch(ga[ef]){case dR:fU=new qx.ui.table.celleditor.PasswordField;
break;
case co:return new qx.ui.table.cellrenderer.Html;
case dO:fU=new qx.ui.table.celleditor.CheckBox;
break;
case dL:fU.setValidationFunction(function(gb,gc){var gd=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;

if(gd.test(gb)){return gb;
}alert("You did not enter a valid email address");
return gc;
});
break;
}break;
case dl:fU.setValidationFunction(function(ge,gf){var gg=new RegExp(ga[M]);

if(gg.test(ge)){return ge;
}alert(ga['failMsg']);
return gf;
});
break;
case du:fU.setValidationFunction(ga[dY]);
break;
case g:fY=function(gh,gi){if(!gh){alert("You need to supply a value here");
return gi;
}return gh;
};
break;
}}return fU;
},createDemoData:function(){this.tableData=[[cq,bY,bg,ct,ch,bn,{'required':true}]];
},fillDeviceData:function(){var gj=this.getDevice();

if(gj==null){return false;
}
if(gj.getDeviceInfo().isJ2me()||gj.getDeviceInfo().isAndroid()){return this.fillJ2meData();
}return false;
},fillJ2meData:function(){var gl=true;
var gn=true;
var gm=bw;
var gk=new net.watchee.PropertyCollection();
gk.add(new net.watchee.PropertyPair(n,dU,gl,dW,X,dV));
gk.add(new net.watchee.PropertyPair(bW,dU,gl,dW,cy,dV));
gk.add(new net.watchee.PropertyPair(Q,dU,gl,dW,dn,dV));
gk.add(new net.watchee.PropertyPair(dB,bO,gl,gm,z,dV));
gk.add(new net.watchee.PropertyPair(dg,bA,gl,gm,bd,dV));
gk.add(new net.watchee.PropertyPair(a,cO,gl,gm,bV,dV));
gk.add(new net.watchee.PropertyPair(bp,cQ,gl,gm,D,dV));
gk.add(new net.watchee.PropertyPair(cG,T,gl,gm,P,dV));
gk.add(new net.watchee.PropertyPair(df,F,gl,gm,et,dV));
gk.add(new net.watchee.PropertyPair(t,ds,gl,gm,cc,dV));
gk.add(new net.watchee.PropertyPair(bG,dU,gl,dW,bt,dV));
gk.add(new net.watchee.PropertyPair(db,ey,gl,gm,ca,dV));
gk.add(new net.watchee.PropertyPair(N,di,gn,gm,ek,dV));
gk.add(new net.watchee.PropertyPair(ex,es,gn,gm,ew,dV));
gk.add(new net.watchee.PropertyPair(dt,H,gl,this.TYPE_CSV,cC,dV));
gk.add(new net.watchee.PropertyPair(w,bc,gl,this.TYPE_CSV,U,dV));
gk.add(new net.watchee.PropertyPair(cr,ce,gl,this.TYPE_CSV,ep,dV));
gk.add(new net.watchee.PropertyPair(cr,bI,gl,this.TYPE_CSV,bh,dV));
gk.add(new net.watchee.PropertyPair(p,dH,gl,this.TYPE_CSV,cW,dV));
gk.add(new net.watchee.PropertyPair(L,dE,gl,gm,bL,dV));
gk.add(new net.watchee.PropertyPair(eD,dU,gl,dW,dI,dV));
gk.add(new net.watchee.PropertyPair(y,dU,gl,dW,cK,dX));
gk.add(new net.watchee.PropertyPair(J,bk,gl,gm,bE,dX));
gk.add(new net.watchee.PropertyPair(B,cz,gl,dT,cB,dX));
gk.add(new net.watchee.PropertyPair(dR,bb,gl,dR,cM,dX));
gk.add(new net.watchee.PropertyPair(bo,cp,gl,dT,cP,dX));
gk.add(new net.watchee.PropertyPair(eC,bB,gl,dT,j,dX));
gk.add(new net.watchee.PropertyPair(bD,cp,gl,dT,eh,dX));
gk.add(new net.watchee.PropertyPair(c,cu,gl,dT,eo,dX));
gk.add(new net.watchee.PropertyPair(u,bT,gl,cm,bF,dX));
gk.add(new net.watchee.PropertyPair(bK,cT,gl,dT,dj,dX));
gk.add(new net.watchee.PropertyPair(da,bl,gl,dT,ei,dX));
gk.add(new net.watchee.PropertyPair(R,dU,gl,dW,dG,dX));
gk.add(new net.watchee.PropertyPair(eA,dU,gl,dW,A,dX));
gk.add(new net.watchee.PropertyPair(q,dU,gl,dW,dk,dX));
gk.add(new net.watchee.PropertyPair(ez,dU,gl,dW,W,dX));
gk.add(new net.watchee.PropertyPair(G,dU,gl,dW,s,dX));
gk.add(new net.watchee.PropertyPair(ec,cj,gl,dW,bv,dX));
gk.add(new net.watchee.PropertyPair(o,br,gl,bC,dN,dX));
gk.add(new net.watchee.PropertyPair(ed,dU,gl,dW,bq,dX));
gk.add(new net.watchee.PropertyPair(E,dU,gl,dW,bs,dX));
gk.add(new net.watchee.PropertyPair(r,dU,gl,dT,bx,dX));
gk.add(new net.watchee.PropertyPair(bz,dU,gl,dW,dK,dX));
gk.add(new net.watchee.PropertyPair(bS,dU,gl,dW,x,dX));
gk.add(new net.watchee.PropertyPair(bH,dU,gl,dW,I,dX));
gk.add(new net.watchee.PropertyPair(cL,em,gl,this.TYPE_CSV,eB,dX));
gk.add(new net.watchee.PropertyPair(dD,de,gl,dT,cI,dX));
gk.add(new net.watchee.PropertyPair(v,dS,gl,gm,dq,dX));
gk.add(new net.watchee.PropertyPair(dm,dr,gl,this.TYPE_CSV,cD,dX));
gk.add(new net.watchee.PropertyPair(ea,dU,gl,dW,bJ,dX));
gk.add(new net.watchee.PropertyPair(C,d,gl,dT,cX,dX));
gk.add(new net.watchee.PropertyPair(cd,dU,gl,dW,eu,dX));
gk.add(new net.watchee.PropertyPair(dJ,by,gl,dT,dF,dX));
gk.add(new net.watchee.PropertyPair(ba,Y,gl,gm,cg,dX));
gk.add(new net.watchee.PropertyPair(dd,bj,gl,gm,en,dX));
gk.add(new net.watchee.PropertyPair(ee,bP,gl,gm,er,dX));
gk.add(new net.watchee.PropertyPair(cN,org.xmlBlaster.util.getDateStr(),gl,gm,dx,dX));
gk.add(new net.watchee.PropertyPair(cH,dU,gl,dW,cb,dX));
gk.add(new net.watchee.PropertyPair(cf,cj,gl,dW,ej,dX));
gk.add(new net.watchee.PropertyPair(be,dy,gl,this.TYPE_CSV,k,dX));
this.loadData(gk);
return true;
},loadData:function(go){this.tableData=[];
var gw=go.propHash;
var gv=gw.getValues();

for(var i=0,l=gv.length;i<l;i++){var gs=gv[i];
var gq=gs.getTypedValue();
var gx=gs.getKey();
var gz=gs.getType();
var gr=gs.getTimestamp();
var gu=gs.getFlag();
var gp=gs.getInfo();
var gA=dS;
var gy={'required':true,'task':gu};

if(gs.isBool())gy={'type':dO,'task':gu};

if(gz==dR||gp.indexOf("Password")!=-1){gq=dS+gq;
gy={'type':bM,'required':true,'task':gu};
}
if(gz==cm||gp.indexOf("PhoneNumber")!=-1){gy={'regExp':O,'failMsg':K,'task':gu};
}
if(gz==this.TYPE_CSV){gy={'type':cA,'options':gs.getTypedValue().split(dz),'editable':true,'task':gu};
}var gt=[cq,gz,gp,gx,gq,gA,gy];
this.tableData.push(gt);
}this.propertyEditor.getTableModel().setData(this.tableData);
},destroyPopup:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(eg,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(c){qx.ui.table.cellrenderer.Default.call(this);

if(c){this.setCellRendererFactoryFunction(c);
}},properties:{cellRendererFactoryFunction:{check:b,nullable:true,init:null}},members:{createDataCellHtml:function(d,e){var g=this.getCellRendererFactoryFunction();

if(!g){throw new Error("No function provided! Aborting.");
}var f=g(d);
return f.createDataCellHtml(d,e);
}}});
})();
(function(){var b="Function",a="qx.ui.table.celleditor.Dynamic";
qx.Class.define(a,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,construct:function(c){qx.core.Object.call(this);

if(c){this.setCellEditorFactoryFunction(c);
}this.__tJ={};
},properties:{cellEditorFactoryFunction:{check:b,nullable:true,init:null}},members:{__tK:null,__tJ:null,createCellEditor:function(d){var e=this.getCellEditorFactoryFunction();
{};
this.__tK=e(d);
var f=this.__tK.createCellEditor(d);
this.__tJ[f.toHashCode()]=d;
return f;
},getCellEditorValue:function(g){var i=this.getCellEditorFactoryFunction();
{};
var h=this.__tJ[g.toHashCode()];
this.__tK=i(h);
var j=this.__tK.getCellEditorValue(g);
return j;
}},destruct:function(){this.__tK=null;
}});
})();
(function(){var n="appear",m="columnVisibilityMenuCreateEnd",l="tableWidthChanged",k="verticalScrollBarChanged",j="qx.ui.table.columnmodel.resizebehavior.Abstract",i="qx.ui.table.columnmodel.Resize",h="_applyBehavior",g="separator",f="visibilityChanged",e="Reset column widths",b="changeBehavior",d="user-button",c="widthChanged",a="execute";
qx.Class.define(i,{extend:qx.ui.table.columnmodel.Basic,include:qx.locale.MTranslation,construct:function(){qx.ui.table.columnmodel.Basic.call(this);
this.__tL=false;
this.__tM=false;
},properties:{behavior:{check:j,init:null,nullable:true,apply:h,event:b}},members:{__tM:null,__tL:null,__tN:null,_applyBehavior:function(p,q){if(q!=null){q.dispose();
q=null;
}p._setNumColumns(this.getOverallColumnCount());
p.setTableColumnModel(this);
},init:function(r,s){qx.ui.table.columnmodel.Basic.prototype.init.call(this,r,s);

if(this.__tN==null){this.__tN=s;
s.addListener(n,this._onappear,this);
s.addListener(l,this._onTableWidthChanged,this);
s.addListener(k,this._onverticalscrollbarchanged,this);
s.addListener(m,this._addResetColumnWidthButton,this);
this.addListener(c,this._oncolumnwidthchanged,this);
this.addListener(f,this._onvisibilitychanged,this);
}if(this.getBehavior()==null){this.setBehavior(new qx.ui.table.columnmodel.resizebehavior.Default());
}this.getBehavior()._setNumColumns(r);
},getTable:function(){return this.__tN;
},_addResetColumnWidthButton:function(event){var v=event.getData();
var u=v.columnButton;
var t=v.menu;
var o;
o=u.factory(g);
t.add(o);
o=u.factory(d,{text:this.tr(e)});
t.add(o);
o.addListener(a,this._onappear,this);
},_onappear:function(event){if(this.__tL){return ;
}this.__tL=true;
{};
this.getBehavior().onAppear(event,event.getType()!==n);
this.__tN._updateScrollerWidths();
this.__tN._updateScrollBarVisibility();
this.__tL=false;
this.__tM=true;
},_onTableWidthChanged:function(event){if(this.__tL||!this.__tM){return ;
}this.__tL=true;
{};
this.getBehavior().onTableWidthChanged(event);
this.__tL=false;
},_onverticalscrollbarchanged:function(event){if(this.__tL||!this.__tM){return ;
}this.__tL=true;
{};
this.getBehavior().onVerticalScrollBarChanged(event);
qx.event.Timer.once(function(){if(this.__tN&&!this.__tN.isDisposed()){this.__tN._updateScrollerWidths();
this.__tN._updateScrollBarVisibility();
}},this,0);
this.__tL=false;
},_oncolumnwidthchanged:function(event){if(this.__tL||!this.__tM){return ;
}this.__tL=true;
{};
this.getBehavior().onColumnWidthChanged(event);
this.__tL=false;
},_onvisibilitychanged:function(event){if(this.__tL||!this.__tM){return ;
}this.__tL=true;
{};
this.getBehavior().onVisibilityChanged(event);
this.__tL=false;
}},destruct:function(){this.__tN=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:{__tO:null,renderLayout:function(f,top,g,h){this.__tO=g;
},getComputedWidth:function(){return this.__tO;
},getFlex:function(){return this.getLayoutProperties().flex||0;
},setColumnWidth:function(i,j){var j=j||0;
var k=null;

if(typeof i==c){this.setWidth(i);
}else if(typeof i==d){if(i==e){j=1;
}else{var l=i.match(/^[0-9]+(?:\.[0-9]+)?([%\*])$/);

if(l){if(l[1]==b){j=parseFloat(i);
}else{k=i;
}}}}this.setLayoutProperties({flex:j,width:k});
}},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(c){throw new Error("_setNumColumns is abstract");
},onAppear:function(event,d){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 f=this.getTableColumnModel();
var i=f.getTable();
var e=i._getPaneScrollerArr();

if(!e[0]||!e[0].getLayoutParent().getBounds()){return null;
}var h=e[0].getLayoutParent().getBounds().width;
var g=e[e.length-1];
h-=g.getPaneInsetRight();
return h;
}}});
})();
(function(){var j="Function",h="Boolean",g="minWidth",f="width",e="qx.ui.table.columnmodel.Resize",d="qx.ui.table.columnmodel.resizebehavior.Default",c="__tR",b="maxWidth",a="__tQ";
qx.Class.define(d,{extend:qx.ui.table.columnmodel.resizebehavior.Abstract,construct:function(){qx.ui.table.columnmodel.resizebehavior.Abstract.call(this);
this.__tP=[];
this.__tQ=new qx.ui.layout.HBox();
this.__tQ.connectToWidget(this);
this.__tR=new qx.util.DeferredCall(this._computeColumnsFlexWidth,this);
},properties:{newResizeBehaviorColumnData:{check:j,init:function(k){return new qx.ui.core.ColumnData();
}},initializeWidthsOnEveryAppear:{check:h,init:false},tableColumnModel:{check:e}},members:{__tQ:null,__tS:null,__tP:null,__tR:null,__tT:false,setWidth:function(m,n,o){if(m>=this.__tP.length){throw new Error("Column number out of range");
}this.__tP[m].setColumnWidth(n,o);
this.__tR.schedule();
},setMinWidth:function(p,q){if(p>=this.__tP.length){throw new Error("Column number out of range");
}this.__tP[p].setMinWidth(q);
this.__tR.schedule();
},setMaxWidth:function(r,s){if(r>=this.__tP.length){throw new Error("Column number out of range");
}this.__tP[r].setMaxWidth(s);
this.__tR.schedule();
},set:function(t,u){for(var v in u){switch(v){case f:this.setWidth(t,u[v]);
break;
case g:this.setMinWidth(t,u[v]);
break;
case b:this.setMaxWidth(t,u[v]);
break;
default:throw new Error("Unknown property: "+v);
}}},onAppear:function(event,w){if(w===true||!this.__tT||this.getInitializeWidthsOnEveryAppear()){this._computeColumnsFlexWidth();
this.__tT=true;
}},onTableWidthChanged:function(event){this._computeColumnsFlexWidth();
},onVerticalScrollBarChanged:function(event){this._computeColumnsFlexWidth();
},onColumnWidthChanged:function(event){this._extendNextColumn(event);
},onVisibilityChanged:function(event){var x=event.getData();
if(x.visible){this._computeColumnsFlexWidth();
return;
}this._extendLastColumn(event);
},_setNumColumns:function(y){var z=this.__tP;
if(y<=z.length){z.splice(y,z.length);
return;
}for(var i=z.length;i<y;i++){z[i]=this.getNewResizeBehaviorColumnData()();
z[i].columnNumber=i;
}},getLayoutChildren:function(){return this.__tS;
},_computeColumnsFlexWidth:function(){this.__tR.cancel();
var E=this._getAvailableWidth();

if(E===null){return;
}var A=this.getTableColumnModel();
var C=A.getVisibleColumns();
var D=C.length;
var B=this.__tP;
var i,l;

if(D===0){return;
}var G=[];

for(i=0;i<D;i++){G.push(B[C[i]]);
}this.__tS=G;
this.__tU();
this.__tQ.renderLayout(E,100);
for(i=0,l=G.length;i<l;i++){var F=G[i].getComputedWidth();
A.setColumnWidth(C[i],F);
}},__tU:function(){this.__tQ.invalidateChildrenCache();
var H=this.__tS;

for(var i=0,l=H.length;i<l;i++){H[i].invalidateLayoutCache();
}},_extendNextColumn:function(event){var M=this.getTableColumnModel();
var P=event.getData();
var K=M.getVisibleColumns();
var J=this._getAvailableWidth();
var I=K.length;
if(P.newWidth>P.oldWidth){return ;
}var i;
var L;
var O=0;

for(i=0;i<I;i++){O+=M.getColumnWidth(K[i]);
}if(O<J){for(i=0;i<K.length;i++){if(K[i]==P.col){L=K[i+1];
break;
}}
if(L){var N=(J-(O-M.getColumnWidth(L)));
M.setColumnWidth(L,N);
}}},_extendLastColumn:function(event){var T=this.getTableColumnModel();
var X=event.getData();
if(X.visible){return;
}var S=T.getVisibleColumns();
if(S.length==0){return;
}var R=this._getAvailableWidth(T);
var Q=S.length;
var i;
var V;
var W=0;

for(i=0;i<Q;i++){W+=T.getColumnWidth(S[i]);
}if(W<R){V=S[S.length-1];
var U=(R-(W-T.getColumnWidth(V)));
T.setColumnWidth(V,U);
}},_getResizeColumnData:function(){return this.__tP;
}},destruct:function(){this.__tP=this.__tS=null;
this._disposeObjects(a,c);
}});
})();
(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 d="Function",c="undefined",b="qx.ui.table.cellrenderer.Replace",a="Object";
qx.Class.define(b,{extend:qx.ui.table.cellrenderer.Default,properties:{replaceMap:{check:a,nullable:true,init:null},replaceFunction:{check:d,nullable:true,init:null}},members:{_getContentHtml:function(e){var h=e.value;
var f=this.getReplaceMap();
var g=this.getReplaceFunction();
var i;
if(f){i=f[h];

if(typeof i!=c){e.value=i;
return qx.bom.String.escape(this._formatValue(e));
}}if(g){e.value=g(h);
}return qx.bom.String.escape(this._formatValue(e));
},addReversedReplaceMap:function(){var j=this.getReplaceMap();

for(var l in j){var k=j[l];
j[k]=l;
}return true;
}}});
})();
(function(){var g="",f="Function",e="qx.ui.table.celleditor.ComboBox",d="number",c="Array",b="table-editor-combobox",a="appear";
qx.Class.define(e,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,properties:{validationFunction:{check:f,nullable:true,init:null},listData:{check:c,init:null,nullable:true}},members:{createCellEditor:function(h){var k=new qx.ui.form.ComboBox().set({appearance:b});
var m=h.value;
k.originalValue=m;
var p=h.table.getTableColumnModel().getDataCellRenderer(h.col);
var n=p._getContentHtml(h);

if(m!=n){m=n;
}if(m===null||m===undefined){m=g;
}var j=this.getListData();

if(j){var o;

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

if(q instanceof Array){o=new qx.ui.form.ListItem(q[0],q[1]);
}else{o=new qx.ui.form.ListItem(q,null);
}k.add(o);
}}k.setValue(g+m);
k.addListener(a,function(){k.selectAllText();
});
return k;
},getCellEditorValue:function(r){var t=r.getValue()||g;
var s=this.getValidationFunction();

if(s){t=s(t,r.originalValue);
}
if(typeof r.originalValue==d){t=parseFloat(t);
}return t;
}}});
})();
(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 c="password",b="qx.ui.form.PasswordField",a="input";
qx.Class.define(b,{extend:qx.ui.form.TextField,members:{_createInputElement:function(){var d=new qx.html.Input(c);
d.addListener(a,this._onHtmlInput,this);
return d;
}}});
})();
(function(){var m="infoMsgBox",l="errorMsgBox",k="",j="-",i="AjaxAnimator",h="Get account %1",g="isNew=true",f="getAccount",d="addDeviceMapping",c=":loginName",X="getDeviceMapping",W="User Administration",V="Add DeviceMapping %1",U="DeviceMapping removed with null response",T="getAccountLoginNames",S="window title",R="execute",Q=":deviceImei",P="DeviceMapping saved",O="22/userAdmin.png",t="application/watchee.service.accountTO",u="DeviceMapping added with null response",r=":mergeIfExists",s="Remove DeviceMapping %1",p="loginName",q="Add account failed: %1 %2",n="button title",o="Add deviceMapping failed: %1 %2",v="Adding get account login names failed: %1 %2",w=":deviceLoginName",D="deviceMappingId=",B="Account added",H="Remove deviceMapping failed: %1 %2",F="Get deviceMapping failed: %1 %2",K="DeviceMapping removed",J="Add account failed with empty data",y="DeviceMapping didn't exist",N="Save",M="DeviceMapping added",L="Account changed",x="track.admin.account.UserAdminWindow",z="Get account list",A="Get account failed: %1 %2",C="close",E="Get DeviceMapping %1",G=":deviceMappingId",I=",";
var b=275;
var a=0;
qx.Class.define(x,{extend:track.util.WindowWithHelpIcon,construct:function(Y){track.util.WindowWithHelpIcon.call(this);
this.trackGui=Y||null;
var ba=new qx.ui.layout.HBox();
ba.setSpacing(10);
this.setLayout(ba);
this.setCaption(this.trc(S,W));
this.setIcon(xbGetIcon(O));
this.visibleCompany=false;
this.companyGroupBox=null;
this.accountGroupBox=null;
this.deviceGroupBox=null;
this.addListener(C,function(e){this.clear();
},this);
},members:{getAdminWindowTop:function(){return b;
},getAdminWindowLeft:function(){return a;
},createWindow:function(){if(this.visibleCompany){this.companyGroupBox=new track.admin.account.CompanyGroupBox(this);
var bd=this.companyGroupBox.create();
this.add(bd);
}this.accountGroupBox=new track.admin.account.AccountGroupBox(this);
var be=this.accountGroupBox.create();
this.add(be);
this.deviceGroupBox=new track.admin.account.DeviceGroupBox(this);
var bb=this.deviceGroupBox.create();
this.add(bb);
var bc=new qx.ui.form.Button(this.trc(n,N));
this.add(bc);
bc.addListener(R,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 bi=org.xmlBlaster.util.PropTO;
var bj=this.trackGui.getRequestResponseDispatcher();
var bk=bi.VALUE_TASK_NAMED_GETACCOUNTLOGINNAMES+j+bj.getRequestIdNextVal();
var bg=new Array();
bg.push(new bi(bi.KEY_SERVICENAME,bi.VALUE_SERVICE_ACCOUNT));
bg.push(new bi(bi.KEY_TASK,bi.VALUE_TASK_NAMED_GETACCOUNTLOGINNAMES));
bg.push(new bi(bi.KEY_DATA,k));
bg.push(new bi(bi.KEY_BOUNCE,bk));
var bf=new org.xmlBlaster.util.ServiceTO(bg);
var bh=new org.xmlBlaster.util.ServiceListTO(bf);
this.trackGui.startAjaxAnimator(this.trc(i,z),2000);
bj.registerRequest(bk,120,this.onGetAccountLoginNames,this,k);
this.watchee.publishServiceMessage(bh,this.trackGui.returnQosOrException,this.trackGui,T);
},onGetAccountLoginNames:function(bl,bm,bn){if(bl.isException()){this.trackGui.errorMsgBox(this.trc(l,v,bl.getBounce(),bl.getErrorMessage()));
return;
}var bo=bl.getPropValue(org.xmlBlaster.util.PropTO.KEY_RESULT);
var bp=bo.split(I);
this.accountGroupBox.onLoginNames(bp);
},sendGetAccount:function(bq){var bq=bq||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 bu=org.xmlBlaster.util.PropTO;
var bv=this.trackGui.getRequestResponseDispatcher();
var bw=bu.VALUE_TASK_NAMED_GETACCOUNT+j+bv.getRequestIdNextVal();
var bs=new Array();
bs.push(new bu(bu.KEY_SERVICENAME,bu.VALUE_SERVICE_ACCOUNT));
bs.push(new bu(bu.KEY_TASK,bu.VALUE_TASK_NAMED_GETACCOUNT));
bs.push(new bu(bu.KEY_DATA+c,bq));
bs.push(new bu(bu.KEY_RESULTENCODING,bu.ENCODING_PLAIN));
bs.push(new bu(bu.KEY_BOUNCE,bw));
var br=new org.xmlBlaster.util.ServiceTO(bs);
var bt=new org.xmlBlaster.util.ServiceListTO(br);
this.trackGui.startAjaxAnimator(this.trc(i,h,bq),2000);
bv.registerRequest(bw,120,this.onGetAccountTO,this,k);
this.watchee.publishServiceMessage(bt,this.trackGui.returnQosOrException,this.trackGui,f);
},onGetAccountTO:function(bx,by,bz){if(bx.isException()){this.trackGui.errorMsgBox(this.trc(l,A,bx.getBounce(),bx.getErrorMessage()));
return;
}var bA=false;
var bB=net.watchee.AccountTO.parse(this.trackGui.watchee,bx.getResult(),bA);
this.accountGroupBox.onChangedAccountTO(bB);
this.sendGetDeviceMapping(bB.getLoginName());
},sendGetDeviceMapping:function(bC){var bC=bC||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendGetDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var bG=org.xmlBlaster.util.PropTO;
var bH=this.trackGui.getRequestResponseDispatcher();
var bI=bG.VALUE_TASK_NAMED_GETDEVICEMAPPING+j+bH.getRequestIdNextVal();
var bE=new Array();
bE.push(new bG(bG.KEY_SERVICENAME,bG.VALUE_SERVICE_ACCOUNT));
bE.push(new bG(bG.KEY_TASK,bG.VALUE_TASK_NAMED_GETDEVICEMAPPING));
bE.push(new bG(bG.KEY_DATA+c,bC));
bE.push(new bG(bG.KEY_RESULTENCODING,bG.ENCODING_PLAIN));
bE.push(new bG(bG.KEY_BOUNCE,bI));
var bD=new org.xmlBlaster.util.ServiceTO(bE);
var bF=new org.xmlBlaster.util.ServiceListTO(bD);
this.trackGui.startAjaxAnimator(this.trc(i,E,bC),2000);
bH.registerRequest(bI,120,this.onGetDeviceMapping,this,k);
this.watchee.publishServiceMessage(bF,this.trackGui.returnQosOrException,this.trackGui,X);
},onGetDeviceMapping:function(bJ,bK,bL){if(bJ.isException()){this.trackGui.errorMsgBox(this.trc(l,F,bJ.getBounce(),bJ.getErrorMessage()));
return;
}var bO=bJ.getResult();

if(bO==null||bO.length==0){this.deviceGroupBox.onChangedDeviceMappingTO(null);
}else{var bN=net.watchee.PropertyCollection.parseXml(bO);
var bM=new track.admin.account.DeviceMappingTO(this.trackGui,bN);
this.deviceGroupBox.onChangedDeviceMappingTO(bM);
}},onPreOpen:function(){this.sendGetAccountLoginNames();
return true;
},sendSaveData:function(){var bQ=this.accountGroupBox.fillAccountTOFromGui();

if(bQ!=null){this.sendAddAccount(bQ);

if(this.deviceGroupBox.doAddDevice()){var bP=this.deviceGroupBox.fillDeviceMappingTOFromGui(true);

if(bP!=null)this.sendAddDeviceMapping(bP);
}else{if(this.deviceGroupBox.getImei(false)!=null){var bP=this.deviceGroupBox.fillDeviceMappingTOFromGui(false);

if(bP!=null)this.sendRemoveDeviceMapping(bP);
}}return true;
}return false;
},sendAddAccount:function(bR){var bR=bR||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendAddAccount with watchee is null");

if(this.accountGroupBox==null)return;
var bV=org.xmlBlaster.util.PropTO;
var bW=this.trackGui.getRequestResponseDispatcher();
var bX=bV.VALUE_TASK_NAMED_ADDACCOUNT+j+bW.getRequestIdNextVal();
var bT=new Array();
bT.push(new bV(bV.KEY_SERVICENAME,bV.VALUE_SERVICE_ACCOUNT));
bT.push(new bV(bV.KEY_TASK,bV.VALUE_TASK_NAMED_ADDACCOUNT));
bT.push(new bV(bV.KEY_DATA,bR.toXml()));
bT.push(new bV(bV.KEY_DATA+r,true));
bT.push(new bV(bV.KEY_MIME,t));
bT.push(new bV(bV.KEY_RESULTENCODING,bV.ENCODING_PLAIN));
bT.push(new bV(bV.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
bT.push(new bV(bV.KEY_BOUNCE,bX));
var bS=new org.xmlBlaster.util.ServiceTO(bT);
var bU=new org.xmlBlaster.util.ServiceListTO(bS);
this.trackGui.startAjaxAnimator(this.trc(i,h,bR.getLoginName()),2000);
bW.registerRequest(bX,120,this.onAddAccountResponse,this,k);
this.watchee.publishServiceMessage(bU,this.trackGui.returnQosOrException,this.trackGui,f);
},onAddAccountResponse:function(bY,ca,cb){var bY=bY||null;

if(bY==null){this.trackGui.errorMsgBox(this.trc(l,J));
return;
}
if(bY.isException()){this.trackGui.errorMsgBox(this.trc(l,q,bY.getBounce(),bY.getErrorMessage()));
return;
}var cd=bY.getResult();
var cc=org.xmlBlaster.util.Hashtable.parseCSV(cd);
var cf=cd.indexOf(g)!=-1;
var ce=cc.get(p,null);
this.accountGroupBox.onLoginNameAdded(ce);

if(cf)this.trackGui.infoMsgBox(this.trc(m,B));
else this.trackGui.infoMsgBox(this.trc(m,L));
},sendAddDeviceMapping:function(cg){var cg=cg||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendAddDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var ch=cg.getLoginName();
var cl=org.xmlBlaster.util.PropTO;
var cm=this.trackGui.getRequestResponseDispatcher();
var cn=cl.VALUE_TASK_NAMED_ADDDEVICEMAPPING+j+cm.getRequestIdNextVal();
var ci=new Array();
ci.push(new cl(cl.KEY_SERVICENAME,cl.VALUE_SERVICE_ACCOUNT));
ci.push(new cl(cl.KEY_TASK,cl.VALUE_TASK_NAMED_ADDDEVICEMAPPING));
ci.push(new cl(cl.KEY_DATA,cg.toXml()));
ci.push(new cl(cl.KEY_MIME,cl.VALUE_RESULTMIME_PROPERTYCOLLECTION));
ci.push(new cl(cl.KEY_RESULTENCODING,cl.ENCODING_PLAIN));
ci.push(new cl(cl.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
ci.push(new cl(cl.KEY_BOUNCE,cn));
var ck=new org.xmlBlaster.util.ServiceTO(ci);
var cj=new org.xmlBlaster.util.ServiceListTO(ck);
this.trackGui.startAjaxAnimator(this.trc(i,V,ch),2000);
cm.registerRequest(cn,120,this.onAddDeviceMappingResponse,this,k);
this.watchee.publishServiceMessage(cj,this.trackGui.returnQosOrException,this.trackGui,d);
},onAddDeviceMappingResponse:function(co,cp,cq){if(co==null){this.trackGui.infoMsgBox(this.trc(m,u));
return;
}
if(co.isException()){this.trackGui.errorMsgBox(this.trc(l,o,co.getBounce(),co.getErrorMessage()));
return;
}var cr=co.getResult();
var cs=cr.indexOf(g)!=-1;

if(cs)this.trackGui.infoMsgBox(this.trc(m,M));
else this.trackGui.infoMsgBox(this.trc(m,P));
},sendRemoveDeviceMapping:function(ct){var ct=ct||null;
this.watchee=this.trackGui.watchee;

if(this.watchee==null)throw new Error("sendRemoveDeviceMapping with watchee is null");

if(this.accountGroupBox==null)return;
var cu=ct.getLoginName();
var cy=org.xmlBlaster.util.PropTO;
var cz=this.trackGui.getRequestResponseDispatcher();
var cA=cy.VALUE_TASK_NAMED_REMOVEDEVICEMAPPING+j+cz.getRequestIdNextVal();
var cv=new Array();
cv.push(new cy(cy.KEY_SERVICENAME,cy.VALUE_SERVICE_ACCOUNT));
cv.push(new cy(cy.KEY_TASK,cy.VALUE_TASK_NAMED_REMOVEDEVICEMAPPING));
cv.push(new cy(cy.KEY_DATA+w,ct.getLoginName()));
cv.push(new cy(cy.KEY_DATA+G,ct.getDeviceMappingId()));
cv.push(new cy(cy.KEY_DATA+Q,ct.getDeviceImei()));
cv.push(new cy(cy.KEY_RESULTMIME,org.xmlBlaster.util.PropTO.VALUE_RESULTMIME_CSV));
cv.push(new cy(cy.KEY_BOUNCE,cA));
var cx=new org.xmlBlaster.util.ServiceTO(cv);
var cw=new org.xmlBlaster.util.ServiceListTO(cx);
this.trackGui.startAjaxAnimator(this.trc(i,s,cu),2000);
cz.registerRequest(cA,120,this.onRemoveDeviceMappingResponse,this,k);
this.watchee.publishServiceMessage(cw,this.trackGui.returnQosOrException,this.trackGui,d);
},onRemoveDeviceMappingResponse:function(cB,cC,cD){if(cB==null){this.trackGui.infoMsgBox(this.trc(m,U));
return;
}
if(cB.isException()){this.trackGui.errorMsgBox(this.trc(l,H,cB.getBounce(),cB.getErrorMessage()));
return;
}var cE=cB.getResult();
var cF=cE.indexOf(D)!=-1;

if(cF)this.trackGui.infoMsgBox(this.trc(m,K));
else this.trackGui.infoMsgBox(this.trc(m,y));
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(u){qx.core.Object.call(this);
this.userAdminWindow=u;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(l,c));
var v=new qx.ui.layout.Grid(3,2);
this.groupBox.setLayout(v);
var w=new qx.ui.basic.Label(this.trc(s,i));
var y=new qx.ui.basic.Label(this.trc(s,m));
var x=new qx.ui.basic.Label(this.trc(s,k));
this.groupBox.add(w,{row:0,column:0});
this.groupBox.add(y,{row:1,column:0});
this.groupBox.add(x,{row:2,column:0});
this.__tV=new qx.ui.form.SelectBox();
this.__tV.add(new qx.ui.form.ListItem(this.trc(h,r),null,r));
this.__tV.add(new qx.ui.form.ListItem(q,null,q));
this.__tV.add(new qx.ui.form.ListItem(p,null,p));
this.__tV.add(new qx.ui.form.ListItem(n,null,n));
this.__tW=new qx.ui.form.TextField();
this.__tX=new qx.ui.form.TextField();
this.groupBox.add(this.__tV,{row:0,column:1});
this.groupBox.add(this.__tW,{row:1,column:1});
this.groupBox.add(this.__tX,{row:2,column:1});
this.__tV.addListener(d,function(e){var A=(e.getData().length==0)?null:e.getData()[0];
var z=(A==null)?t:A.getValue();

if(z==t||z==r){this.__tW.setValue(t);
this.__tW.setEnabled(true);
this.__tX.setValue(t);
}else{this.__tW.setValue(z);
this.__tW.setEnabled(false);
this.__tX.setValue(a+z+j);
}this.userAdminWindow.accountGroupBox.companyChanged(z);
},this);
return this.groupBox;
},getCompany:function(){return this.__tV.getValue();
},getCompanyInput:function(){return (this.trc(o,g)+this.__tW.getValue()+this.trc(o,b)+this.__tX.getValue());
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var bH="select box item",bG="label name",bF="",bE="errorMsgBox",bD="label",bC=" ",bB="changeSelection",bA="Skipper",bz="[new account]",by="%1 found",bn="NEW_INSTANCE",bm="GPSvision",bl="Pferdetracking",bk="Netwake",bj="Forstware",bi="de_DE",bh="-",bg="Account",bf="Elite Sportcars AT",be="Binnenschiffer",bO="Telkomatik",bP="cs",bM="Auto Wacht DE",bN="First name:",bK="cleverID DE",bL="Elite-Sportcars",bI="Alarm.de DE",bJ="Email:",bQ="Permission:",bR="Czech cs",br="Phone number:",bq="...",bt="@",bs="groupbox title",bv="OEM:",bu="<br/>Last Web Login: ",bx="Gender:",bw="Comfort",bp="Invalid email '%1', example 'order@gpsvision.de'",bo="Invalid portal password: %1",a="Telkomatik Schweiz",b="Softway Computers India",c="Magicmaps DE",d="Password:",f="execute",g="SIMNET CZ",h="input",j="Jetski",k="End-Date:",m=".",bV="SkipperInAppPurchase",bU="is a new name",bT="+49",bS="red",ca="%1 matches found",bY="Alias:",bX="hu",bW=":",cc="Professional",cb="Auto-Wacht",L="en",M="SIMNET",J="GPS-ZIP",K="button",P="Trial Access",Q="Enterprise",N="Login name:",O="Binnenschiffer DE",H="track.admin.account.AccountGroupBox",I="Hungarian hu",u="Last name:",t="usradm",w="Language:",v="Login:",q="Account-Details",p="Created: ",s="Mr.",r="<br/>Tracks: ",o="male",n="Alarm.de",V="German Austria de_AT",W="GPS-ZIP DE",X="Invalid loginName '%1', example 'mueller' (at least 5 chars)",Y="Basic",R="Invalid end date '%1', example '2009-09-28'",S="/",T="_",U="[new company]",ba="English en",bb="German de_DE",E="de_AT",D="Mrs.",C="cleverID",B="Jetski AT",A="something",z="female",y="de_CH",x="Active:",G="Magicmaps",F="German Switzerland de_CH",bc="Softway-Computers",bd="<br/>Last Position: ";
qx.Class.define(H,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(cd){qx.core.Object.call(this);
this.userAdminWindow=cd;
this.trackGui=this.userAdminWindow.trackGui;
this.currAccountTO=null;
this.programmaticSetSelected=false;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(bs,bg));
var cz=new qx.ui.layout.Grid(10,2);
this.groupBox.setLayout(cz);
var cm=240;
var cn=new qx.ui.basic.Label(this.trc(bG,N));
var cr=new qx.ui.basic.Label(this.trc(bG,v));
var ct=new qx.ui.basic.Label(bq);
var cs=new qx.ui.basic.Label(this.trc(bG,bv));
var ce=new qx.ui.basic.Label(this.trc(bG,bQ));
var cy=new qx.ui.basic.Label(this.trc(bG,bY));
var cx=new qx.ui.basic.Label(this.trc(bG,bx));
var cw=new qx.ui.basic.Label(this.trc(bG,bN));
var cj=new qx.ui.basic.Label(this.trc(bG,u));
var cf=new qx.ui.basic.Label(this.trc(bG,bJ));
var cg=new qx.ui.basic.Label(this.trc(bG,br));
var ck=new qx.ui.basic.Label(this.trc(bG,d));
var ch=new qx.ui.basic.Label(this.trc(bG,w));
var co=new qx.ui.basic.Label(this.trc(bG,k));
var cv=new qx.ui.basic.Label(this.trc(bG,x));
var ci=0;
this.groupBox.add(cn,{row:ci++,column:0});
this.groupBox.add(cr,{row:ci++,column:0});
this.groupBox.add(ct,{row:ci++,column:0});
this.groupBox.add(cs,{row:ci++,column:0});
this.groupBox.add(ce,{row:ci++,column:0});
this.groupBox.add(cy,{row:ci++,column:0});
this.groupBox.add(cx,{row:ci++,column:0});
this.groupBox.add(cw,{row:ci++,column:0});
this.groupBox.add(cj,{row:ci++,column:0});
this.groupBox.add(cf,{row:ci++,column:0});
this.groupBox.add(cg,{row:ci++,column:0});
this.groupBox.add(ck,{row:ci++,column:0});
this.groupBox.add(ch,{row:ci++,column:0});
this.groupBox.add(co,{row:ci++,column:0});
this.groupBox.add(cv,{row:ci++,column:0});
this.__tY=new qx.ui.form.SelectBox();
this.__tY.setWidth(cm);
this.onLoginNames([]);
this.__ua=new qx.ui.form.TextField();
this.__ub=new qx.ui.basic.Label(bF);
this.__ub.setTextColor(bS);
this.__uc=new qx.ui.form.SelectBox();
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bm),null,bm));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bk),null,bk));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bj),null,bj));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bK),null,C));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bl),null,bl));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,a),null,bO));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,W),null,J));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bM),null,cb));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,O),null,be));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,g),null,M));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bI),null,n));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,c),null,G));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,B),null,j));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bf),null,bL));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,b),null,bc));
this.__uc.add(new qx.ui.form.ListItem(this.trc(bH,bA),null,bA));
this.__ud=new qx.ui.form.SelectBox();
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,P),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_TrialAccess));
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,Y),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Basic));
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,bw),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Comfort));
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,cc),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Professional));
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,Q),null,net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_Enterprise));
this.__ud.add(new qx.ui.form.ListItem(this.trc(bH,bV),null,net.watchee.PermissionTemplateTO.PERMISSION_SkipperInAppPurchase));
this.__ue=new qx.ui.form.TextField();
this.__uf=new qx.ui.form.SelectBox();
this.__uf.add(new qx.ui.form.ListItem(this.trc(bH,s),null,o));
this.__uf.add(new qx.ui.form.ListItem(this.trc(bH,D),null,z));
this.__ug=new qx.ui.form.TextField();
this.__uh=new qx.ui.form.TextField();
this.__ui=new qx.ui.form.TextField();
this.__uj=new qx.ui.form.TextField();
this.__uk=new qx.ui.form.PasswordField();
this.__ul=new qx.ui.form.SelectBox();
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,bb),null,bi));
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,F),null,y));
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,V),null,E));
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,I),null,bX));
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,bR),null,bP));
this.__ul.add(new qx.ui.form.ListItem(this.trc(bH,ba),null,L));
this.__um=new qx.ui.form.TextField();
this.__un=new qx.ui.form.CheckBox();
this.__uo=new qx.ui.form.Button(this.trc(K,q));
var cu=new qx.ui.container.Composite(new qx.ui.layout.HBox());
cu.add(this.__un);
cu.add(this.__uo);
var ci=0;
this.groupBox.add(this.__tY,{row:ci++,column:1});
this.groupBox.add(this.__ua,{row:ci++,column:1});
this.groupBox.add(this.__ub,{row:ci++,column:1});
this.groupBox.add(this.__uc,{row:ci++,column:1});
this.groupBox.add(this.__ud,{row:ci++,column:1});
this.groupBox.add(this.__ue,{row:ci++,column:1});
this.groupBox.add(this.__uf,{row:ci++,column:1});
this.groupBox.add(this.__ug,{row:ci++,column:1});
this.groupBox.add(this.__uh,{row:ci++,column:1});
this.groupBox.add(this.__ui,{row:ci++,column:1});
this.groupBox.add(this.__uj,{row:ci++,column:1});
this.groupBox.add(this.__uk,{row:ci++,column:1});
this.groupBox.add(this.__ul,{row:ci++,column:1});
this.groupBox.add(this.__um,{row:ci++,column:1});
this.groupBox.add(cu,{row:ci++,column:1});
this.__uo.addListener(f,function(e){if(this.currAccountTO!=null)this.trackGui.infoMsgBox(p+this.currAccountTO.getCreationDateStr()+bu+org.xmlBlaster.util.getDateStrFromIsoDateStr(this.currAccountTO.getLastLoginWebStr())+bC+org.xmlBlaster.util.getTimeStrFromIsoDateStr(this.currAccountTO.getLastLoginWebStr())+r+this.currAccountTO.getNumberOfTracks()+bd+org.xmlBlaster.util.getDateStrFromIsoDateStr(this.currAccountTO.getLastPositionTs()));
},this);
var cl=this.userAdminWindow.showCompanyGroupBox();

if(cl){var cp=this.userAdminWindow.getCompanyGroupBox();
var cq=cp.getCompany();
}else{var cq=A;
this.companyChanged(cq);
}this.__tY.addListener(bB,function(e){var cA=(e.getData().length==0)?null:e.getData()[0];
this.__up(cA);
},this);
this.__ua.addListener(h,function(e){var cC=e.getData();
var cB=this.__ua.getValue();

if(cB.length<=2){this.__ub.setValue(bF);
return;
}var cD=this.__us(cB);

if(cD.length>1){this.__ub.setValue(this.trc(bD,ca,cD.length));
this.onChangedAccountTO(null,false);
this.userAdminWindow.resetDeviceMappingGui();
}else if(cD.length==1){this.__ub.setValue(this.trc(bD,by,cD[0]));

if(cB==cD[0])this.userAdminWindow.sendGetAccount(cD[0]);
}else{this.__ub.setValue(this.trc(bD,bU));
this.userAdminWindow.resetDeviceMappingGui();
}},this);
this.__ud.addListener(bB,function(e){if(this.programmaticSetSelected)return;
var cE=(e.getData().length==0)?null:e.getData()[0];

if(cE.getModel()==net.watchee.PermissionTemplateTO.PERMISSION_GPSvision_TrialAccess)this.__ur();
else this.__um.setValue(bF);
},this);
return this.groupBox;
},__up:function(cF){if(cF==null)return ;
var cG=cF.getModel();

if(cG==bn){this.onChangedAccountTO(null);
return;
}this.userAdminWindow.sendGetAccount(cG);
},onChangedAccountTO:function(cH,cI){var cH=cH||null;
this.programmaticSetSelected=true;
this.currAccountTO=cH;
var cI=org.xmlBlaster.util.toBoolean(cI,true);

if(cH==null||cH.getLoginName()==bz){if(cI){this.__ua.setValue(bF);
}this.__ua.setEnabled(true);

if(cI){this.__ub.setValue(bF);
}this.__uc.resetSelection();
this.__ud.resetSelection();
this.__ue.setValue(bF);
this.__uf.resetSelection();
this.__ug.setValue(bF);
this.__uh.setValue(bF);
this.__ui.setValue(bF);
this.__uj.setValue(bT);
this.__uk.setValue(bF);
this.__ul.resetSelection();
this.__um.setValue(bF);
this.__ur();
this.__un.setValue(true);
this.__uo.setEnabled(false);
this.userAdminWindow.deviceGroupBox.accountChanged(bF);
}else{this.__ua.setValue(cH.getLoginName());
if(cI){this.__ub.setValue(bF);
}var cJ=track.util.GuiUtils.findListItemByModel(this.__uc,cH.getOemName());

if(cJ!=null)this.__uc.setSelection([cJ]);
else this.__uc.resetSelection();
var cJ=this.__uu(cH.getPermissionTemplateStr());

if(cJ!=null)this.__ud.setSelection([cJ]);
else this.__ud.resetSelection();
this.__ue.setValue(cH.getAlias());
this.__uf.resetSelection();
this.__ug.setValue(cH.getFirstName());
this.__uh.setValue(cH.getLastName());
this.__ui.setValue(cH.getEmail());
this.__uj.setValue(cH.getPhoneNumber());
this.__uk.setValue(cH.getPassword());
this.__uq(cH.getLanguage());
this.__um.setValue(cH.getEndDateStr());
this.__un.setValue(cH.isActive());
this.userAdminWindow.deviceGroupBox.accountChanged(cH.getLoginName());
this.__ub.setValue(this.trc(bD,by,cH.getLoginName()));
this.__uo.setEnabled(true);
}this.programmaticSetSelected=false;
},__uq:function(cK){var cL=this.findListItem(this.__ul,cK);

if(cL!=null)this.__ul.setSelection([cL]);
},findListItem:function(cM,cN){if(cN==null)return null;
var cO=cM.getChildren();

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

if(cP!=null&&cP.getModel()==cN)return cP;
}return null;
},__ur:function(){var cR=org.xmlBlaster.util.getCurrentGmtDate(null);
var cQ=cR.getTime()+(16*24*60*60*1000);
var cT=org.xmlBlaster.util.getCurrentGmtDate(null);
cT.setTime(cQ);
var cS=org.xmlBlaster.util.getDateStr(cT);
this.__um.setValue(cS);
},fillAccountTOFromGui:function(){if(this.validateGuiEntries()==false)return null;
var cU=new net.watchee.AccountTO(this.trackGui.watchee,this.getLoginName());
cU.setPermissionTemplateStr(this.__ud.getSelection()[0].getModel());
cU.setOemName(this.__uc.getSelection()[0].getModel());
cU.setAlias(this.__ue.getValue());
cU.setGender(this.__uf.getSelection()[0].getModel());
cU.setFirstName(this.__ug.getValue());
cU.setLastName(this.__uh.getValue());
cU.setEmail(this.getEmail());
cU.setPhoneNumber(this.__uj.getValue());
cU.setPassword(this.getPassword());
cU.setLanguage(this.__ul.getSelection()[0].getModel());
cU.setEndDateStr(this.getEndDate());
cU.setActive(this.__un.getValue());
return cU;
},onLoginNames:function(cV){var cV=cV||[];
this.__tY.removeAll();
this.__tY.add(new qx.ui.form.ListItem(this.trc(bH,bz),null,bn));

for(var i=0,l=cV.length;i<l;i++){var cW=cV[i];
this.__tY.add(new qx.ui.form.ListItem(cW,null,cW));
}},onLoginNameAdded:function(cX){var cX=cX||null;

if(cX==null)return;
var cY=this.__ut(cX);

if(cY==null){this.__tY.add(new qx.ui.form.ListItem(cX,null,cX));
}},onLoginNameDeleted:function(da){var da=da||null;

if(loginNanme==null)return;
var db=this.__ut(da);

if(db!=null){this.__tY.remove(db);
}},__us:function(dc){if(dc==null)return null;
var de=this.__tY.getChildren();
var dd=[];

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

if(df!=null&&df.getModel().indexOf(dc)==0){dd.push(df.getModel());
}}return dd;
},__ut:function(dg){if(dg==null)return null;
var dh=this.__tY.getChildren();

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

if(di!=null&&di.getModel()==dg)return di;
}return null;
},__uu:function(dj){if(dj==null)return null;
var dk=this.__ud.getChildren();

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

if(dl!=null&&dl.getModel()==dj)return dl;
}return null;
},companyChanged:function(dm){if(dm==U){this.onLoginNames([]);
}else{this.onLoginNames([]);
}},getEndDate:function(){var dn=org.xmlBlaster.util.trim(this.__um.getValue());

if(dn==null||dn.length==0){return dn;
}
if(dn.indexOf(bh)!=4||dn.length!=10){this.trackGui.errorMsgBox(this.trc(bE,R,dn));
return null;
}return dn;
},getEmail:function(){var dp=org.xmlBlaster.util.trim(this.__ui.getValue());

if(dp==null||dp.length<5||dp.indexOf(bt)==-1||dp.indexOf(m)==-1||dp.indexOf(bC)!=-1){this.trackGui.errorMsgBox(this.trc(bE,bp,dp));
return null;
}return dp;
},getLoginName:function(){var dq=org.xmlBlaster.util.trim(this.__ua.getValue());
var dr=(this.trackGui.getMyLoginName()==t)?4:5;
if(dq==null||dq.length<dr||dq.indexOf(bW)!=-1||dq.indexOf(S)!=-1||dq.indexOf(T)==0||dq.indexOf(bC)!=-1){this.trackGui.errorMsgBox(this.trc(bE,X,dq));
return null;
}return dq.toLowerCase();
},getPassword:function(){var ds=org.xmlBlaster.util.trim(this.__uk.getValue());

if(ds==null||ds.length<4){this.trackGui.errorMsgBox(this.trc(bE,bo,ds));
return null;
}return ds;
},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 m="label name",k="errorMsgBox",j="",h="123456",g="Device",f="+",d="iPhone",c="Invalid tracker phone number '%1'",b="changeValue",a="TK5000",K="Password:",J="IMEI:",I="1738d8e79f059c99dd4f3175fbd28943d1eea6bd",H="SoftwayVehicle",G="Android",F="changeSelection",E="TK102",D="Type:",C="SoftwayPersonal",B="CT100",t="J2ME/Nokia/SonyEricsson/Blackberry",u="Info:",r="track.admin.account.DeviceGroupBox",s="Invalid IMEI (15 digits expected): %1",p="Invalid tracker phone number '%1', example '+49157734054'",q="0000",n="Invalid tracker password: %1",o="+49",v="Windows-CE Phones",w="359585015245084",y="Add a device:",x="groupbox title",A="Phonenumber:",z="TK105";
qx.Class.define(r,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(L){qx.core.Object.call(this);
this.userAdminWindow=L;
this.trackGui=this.userAdminWindow.trackGui;
},members:{create:function(){this.groupBox=new qx.ui.groupbox.GroupBox(this.trc(x,g));
var P=240;
var S=new qx.ui.layout.Grid(5,2);
this.groupBox.setLayout(S);
var Q=new qx.ui.basic.Label(this.trc(m,y));
var T=new qx.ui.basic.Label(this.trc(m,D));
var O=new qx.ui.basic.Label(this.trc(m,J));
var M=new qx.ui.basic.Label(this.trc(m,K));
var N=new qx.ui.basic.Label(this.trc(m,A));
var R=new qx.ui.basic.Label(this.trc(m,u));
var U=0;
this.groupBox.add(Q,{row:U++,column:0});
this.groupBox.add(T,{row:U++,column:0});
this.groupBox.add(O,{row:U++,column:0});
this.groupBox.add(M,{row:U++,column:0});
this.groupBox.add(N,{row:U++,column:0});
this.groupBox.add(R,{row:U++,column:0});
this.__uv=new qx.ui.form.CheckBox();
this.__uw=new qx.ui.form.SelectBox();
this.__uw.setWidth(P);
this.__uw.add(new qx.ui.form.ListItem(E,null,18));
this.__uw.add(new qx.ui.form.ListItem(z,null,19));
this.__uw.add(new qx.ui.form.ListItem(a,null,12));
this.__uw.add(new qx.ui.form.ListItem(B,null,14));
this.__uw.add(new qx.ui.form.ListItem(t,null,8));
this.__uw.add(new qx.ui.form.ListItem(d,null,7));
this.__uw.add(new qx.ui.form.ListItem(v,null,9));
this.__uw.add(new qx.ui.form.ListItem(G,null,6));
this.__uw.add(new qx.ui.form.ListItem(C,null,21));
this.__uw.add(new qx.ui.form.ListItem(H,null,22));
this.__ux=new qx.ui.form.TextField();
this.__uy=new qx.ui.form.TextField();
this.__uz=new qx.ui.form.TextField();
this.__uA=new qx.ui.form.TextField();
this.__uw.addListener(F,function(e){var V=(e.getData().length==0)?null:e.getData()[0];

if(this.__ux.getValue()==j){if(V!=null&&(V.getModel()==12||V.getModel()==14)){this.__uy.setValue(q);
}else{this.__uy.setValue(h);
}}},this);
var U=0;
this.groupBox.add(this.__uv,{row:U++,column:1});
this.groupBox.add(this.__uw,{row:U++,column:1});
this.groupBox.add(this.__ux,{row:U++,column:1});
this.groupBox.add(this.__uy,{row:U++,column:1});
this.groupBox.add(this.__uz,{row:U++,column:1});
this.groupBox.add(this.__uA,{row:U++,column:1});
this.onChangedDeviceMappingTO(null);
this.__uv.addListener(b,function(e){var W=e.getData();
this.__ux.setEnabled(W);
},this);
this.__uv.setValue(true);
return this.groupBox;
},doAddDevice:function(){return this.__uv.getValue();
},onChangedDeviceMappingTO:function(X,Y){var X=X||null;
var Y=Y||h;

if(X==null){this.__uv.setValue(true);
this.__uw.resetSelection();
this.__ux.setValue(j);
this.__uy.setValue(Y);
this.__uz.setValue(o);
this.__uA.setValue(j);
}else{this.__uv.setValue(true);
var ba=this.__uB(X.getPubSessionId());

if(ba!=null)this.__uw.setSelection([ba]);
else this.__uw.resetSelection();
this.__ux.setValue(X.getDeviceImei());
this.__uy.setValue(X.getHwPasswd());
this.__uz.setValue(X.getHwPhoneNumber());
this.__uA.setValue(X.getInfo());
}},fillDeviceMappingTOFromGui:function(bb){if(bb&&this.validateGuiEntries()==false)return null;
var bd=this.userAdminWindow.getAccountGroupBox().getLoginName();
var bc=new track.admin.account.DeviceMappingTO(this.trackGui.watchee);
bc.setLoginName(bd);
var be=this.__uw.getSelection()[0];

if(be!=null)bc.setPubSessionId(be.getModel());
bc.setDeviceImei(this.getImei());
bc.setHwPasswd(this.getHwPasswd());
bc.setHwPhoneNumber(this.getHwPhoneNumber());
bc.setInfo(this.__uA.getValue());
return bc;
},getImei:function(bf){var bf=org.xmlBlaster.util.toBoolean(bf,true);
var bg=org.xmlBlaster.util.trim(this.__ux.getValue());
if(bg!=null&&(bg.length==w.length||bg.length==I.length)){return bg;
}
if(bf)this.trackGui.errorMsgBox(this.trc(k,s,bg));
return null;
},getHwPasswd:function(){var bh=org.xmlBlaster.util.trim(this.__uy.getValue());

if(bh==null||bh.length<4){this.trackGui.errorMsgBox(this.trc(k,n,bh));
return null;
}return bh;
},getHwPhoneNumber:function(){var bi=org.xmlBlaster.util.trim(this.__uz.getValue());

if(bi==null||bi.length<3){this.trackGui.errorMsgBox(this.trc(k,c,bi));
return null;
}
if(!bi.indexOf(f)==0){this.trackGui.errorMsgBox(this.trc(k,p,bi));
return null;
}return bi;
},validateGuiEntries:function(){if(this.getImei()==null)return false;

if(this.getHwPasswd()==null)return false;

if(this.getHwPhoneNumber()==null)return false;
return true;
},__uB:function(bj){if(bj==null)return null;
var bk=this.__uw.getChildren();

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

if(bl!=null&&bl.getModel()==bj)return bl;
}return null;
},accountChanged:function(bm){}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var m="",l="info",k="hwPasswd",j="deviceImei",i="pubSessionId",h="loginName",g="hwPhoneNumber",f="deviceMappingId",e="track.admin.account.DeviceMappingTO",d="DeviceMapping",a="creationTs",c="modifiedTs",b="accountId";
qx.Class.define(e,{extend:qx.core.Object,construct:function(n,o){qx.core.Object.call(this);
this.trackGui=n;

if(org.xmlBlaster.util.isDefined(o)){this.propertyCollection=o;
}else{this.propertyCollection=new net.watchee.PropertyCollection(d);
}this.gpsDataCached=null;
},members:{getDeviceMappingId:function(){return this.propertyCollection.getStr(f,m);
},getDeviceImei:function(){return this.propertyCollection.getStr(j,m);
},setDeviceImei:function(p){this.propertyCollection.addKeyValue(j,p);
},getPropertyCollection:function(){return this.propertyCollection;
},getCreationTs:function(){return this.propertyCollection.getStr(a,m);
},getModifiedTs:function(){return this.propertyCollection.getStr(c,m);
},getHwPasswd:function(){return this.propertyCollection.getStr(k,m);
},setHwPasswd:function(q){this.propertyCollection.addKeyValue(k,q);
},getHwPhoneNumber:function(){return this.propertyCollection.getStr(g,m);
},setHwPhoneNumber:function(r){this.propertyCollection.addKeyValue(g,r);
},getPubSessionId:function(){var s=this.propertyCollection.getStr(i,m);
return org.xmlBlaster.util.toNumber(s,0);
},setPubSessionId:function(t){this.propertyCollection.addKeyValue(i,t);
},getInfo:function(){return this.propertyCollection.getStr(l,m);
},setInfo:function(u){if(u==null||u.length<1)this.propertyCollection.remove(l);
else this.propertyCollection.addKeyValue(l,u);
},getAccountId:function(){return this.propertyCollection.getStr(b,m);
},getLoginName:function(){return this.propertyCollection.getStr(h,null);
},setLoginName:function(v){this.propertyCollection.addKeyValue(h,v);
},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(m){qx.core.Object.call(this);
this.trackGui=m;
this.animator=null;
},members:{startAjaxAnimator:function(n,o){var n=n||i;
var o=org.xmlBlaster.util.toNumber(o,20000);

if(this.animator==null){this.animator=new qx.ui.basic.Atom(h+n,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(n);
this.animator.setVisibility(j);
}this.stopAjaxAnimator(o);
},changeLabelAjaxAnimator:function(p){if(this.animator!=null)this.animator.setLabel(p);
},stopAjaxAnimator:function(q){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.__uC();
},this);
}var r=org.xmlBlaster.util.toNumber(q,2000);
this.animatorTimer.stop();
this.animatorTimer.startWith(r);
}},__uC: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 bA="",bz="loginName",by="public",bx="userProfile",bw="password",bv="#000000",bu="showSortableDeviceTable",bt="showInfoWindowForLatestPosition",bs="images/watchee-point.png",br="session.maxSessions",bg="showMenuBar",bf="demo",be="autoLogin",bd="mapZoom",bc="rundum",bb="#FFFFFF",ba="showMenuBarVideoButton",Y="mapCenterLat",X="mapCenterLng",W="FF0000",bH="trackingOn",bI="defaultIcon.arrowColor",bF="demo1",bG="2",bD="defaultIcon.labelType",bE="useOpenLayers",bB="defaultIcon.courseModulo",bC="trackingOnFor",bJ="numSegmentsToShow",bK="100%",bk="defaultIcon.arrowWidth",bj="red-dot.png",bm="maxGpsDataPerTrackCurrent",bl="defaultIcon.speedSteps",bo="defaultIcon.labelColor",bn="defaultIcon.renderType",bq="numIconsToShow",bp="mapType",bi="defaultIcon.iconPixelWidth",bh="defaultIcon.maxSpeed",a="mapSegmentWidth",b="panningFenceLatPercent",c="isGpsOem",d="panningFenceLngPercent",e="demo.",f="Click on one of the buttons to change the look an feel",g="defaultIcon.name",h="Überlingen",i="FF2200",j="mapStaticMarkerArray",bO="useMapWatcheeMapnikLayer",bN="Meersburg",bM="mapMaxZoomOnShow",bL="defaultIcon.labelFormat",bS="mapInfoShowHeight",bR="showSmsTab",bQ="locale",bP="geofenceWindow.enabled",bU="mm-",bT="Schiff",G="useMapGoogleLayer",H="xsmsMaySendToOthers",E="rulesWindow.enabled",F="track.util.SessionProfile",K="portal.",L="${aliasName}",I="gpsvision",J="rundumStart",C="trackConfigWindow.trackOnOffButton.enabled",D="demo-02",r="mapCenterOnLocationUpdate",q="shadow-window",t="mapInfoPopupPhoneCall",s="16/apps/preferences-desktop-wallpaper.png",n="Watchee Themes",m="meichle",p="isGpsVision",o="showEmbeddedHtmlFrameLeftBottom",l="embeddedHtmlFrameLeftBottom.url",k="numSegmentsToShowCurrent",Q="isgpsoem",R="demo.html",S="ruleColIsTelephone",T="G_SATELLITE_MAP",M="/iframelb/index.html",N="Romanshorn",O="Vector",P="^mm-...$,^mmt-...$",U="mapClickPhoneCall",V="isWatcheeBeta",B="useMapWatcheeOsmarenderLayer",A="trackConfigWindow.trackRateButton.enabled",z="mapInfoOverallDistance",y="Lindau Schlagwerk",x="G_PHYSICAL_MAP",w="blue-dot.png",v="welcomeBox",u="32/actions/system-run.png";
qx.Class.define(F,{extend:qx.core.Object,construct:function(bV){qx.core.Object.call(this);
this.trackGui=bV;
},members:{activate:function(){this.activateUserProfile(xbProperties.getStr(bx,null));
},activateLoginName:function(bW){this.activateUserProfile(xbProperties.getStr(bx,null),bW);
},postLoginFunctionRundum:function(bX){},activateGpsOem:function(bY,ca){if(isGpsOem){xbProperties.setDefaultProp(bx,c);
bY=xbProperties.getStr(bx,bY);
}var cb=bY.toLowerCase().indexOf(Q)!=-1;

if(!cb)return false;

if(xbProperties.getStr(bz,bA)==bA){xbProperties.setDefaultProp(bz,bA);
}
if(xbProperties.getStr(bw,bA)==bA){xbProperties.setDefaultProp(bw,bA);
}watcheeOrange=bb;
watcheeColorSelf=bv;
watcheeBlue=bv;
watcheeDefaultIcon=w;
xbProperties.setDefaultProp(bt,false);
xbProperties.setDefaultProp(bg,true);
xbProperties.setDefaultProp(ba,false);
xbProperties.setDefaultProp(bu,true);
xbProperties.setDefaultProp(o,false);
xbProperties.setDefaultProp(l,M);
xbProperties.setDefaultProp(br,100);
this.info("User profile="+bY+" loginName="+ca+" activated");
return true;
},activateGpsVision:function(cc,cd){if(isGpsVision){xbProperties.setDefaultProp(bx,p);
cc=xbProperties.getStr(bx,cc);
}var ch=cc.toLowerCase().indexOf(I)!=-1;

if(!ch)return false;
var location=org.xmlBlaster.util.getLocation();
var ce=location.hostname;
var cf=(ce.toLowerCase().indexOf(K)>=0);
var cg=(ce.toLowerCase().indexOf(e)>=0);

if(!cf&&xbProperties.getStr(bz,bA)==bA){cg=true;
}watcheeOrange=bb;
watcheeColorSelf=bv;
watcheeBlue=bv;
watcheeDefaultIcon=bj;
xbProperties.setDefaultProp(bt,false);
xbProperties.setDefaultProp(bg,true);
xbProperties.setDefaultProp(ba,true);
xbProperties.setDefaultProp(bu,true);

if(cg){xbProperties.setDefaultProp(bz,bf);
xbProperties.setDefaultProp(bC,D);
xbProperties.setDefaultProp(be,true);
xbProperties.setDefaultProp(bw,bF);
xbProperties.setDefaultProp(br,1000);
xbProperties.setDefaultProp(bd,14);
}this.info("User profile="+cc+" loginName="+cd+" activated");
return false;
},activateRundum:function(ci,cj){var cl=(!org.xmlBlaster.util.isFilled(ci)&&cj.indexOf(bc)==0||ci.indexOf(bc)==0);

if(!cl)return false;
xbProperties.setDefaultProp(bg,true);
xbProperties.setAccountProp(br,100);
xbProperties.setDefaultProp(bu,true);
xbProperties.setAccountProp(bH,true);
xbProperties.setAccountProp(be,false);
xbProperties.setAccountProp(bz,bc);
xbProperties.setAccountProp(bw,bA);
xbProperties.setAccountProp(bm,3);
xbProperties.setAccountProp(bq,1);
xbProperties.setAccountProp(bJ,6);
xbProperties.setAccountProp(k,6);
xbProperties.setAccountProp(bt,false);
xbProperties.setAccountProp(b,-1);
xbProperties.setAccountProp(d,-1);
xbProperties.setAccountProp(bn,net.watchee.IconDisplayInfo.RENDER_ARROW);
xbProperties.setAccountProp(g,O);
xbProperties.setAccountProp(bi,80);
xbProperties.setAccountProp(bk,bG);
xbProperties.setAccountProp(bL,L);
xbProperties.setAccountProp(bo,W);
xbProperties.setAccountProp(bI,i);
xbProperties.setAccountProp(bh,20);
xbProperties.setAccountProp(bl,4);
xbProperties.setAccountProp(bB,10);
xbProperties.setAccountProp(bD,1);
xbProperties.setAccountProp(H,true);
var ck=new Array();
ck.push({lat:47.53961667,lng:9.684367,icon:bs,title:y});
ck.push({lat:47.53701667,lng:9.692383,icon:bs,title:bT});
ck.push({lat:47.57281667,lng:9.386667,icon:bs,title:N});
ck.push({lat:47.68111667,lng:9.28805,icon:bs,title:bN});
ck.push({lat:47.76183333,lng:9.16125,icon:bs,title:h});
xbProperties.setAccountProp(j,ck);
xbProperties.setAccountProp(a,1);

if(ci==J){xbProperties.setAccountProp(bp,T);
xbProperties.setAccountProp(Y,47.53);
xbProperties.setAccountProp(X,9.7);
xbProperties.setAccountProp(bd,14);
}else{xbProperties.setAccountProp(bp,x);
xbProperties.setAccountProp(Y,47.61);
xbProperties.setAccountProp(X,9.39);
xbProperties.setAccountProp(bd,11);
xbProperties.setAccountProp(bM,13);
}this.trackGui.postLoginFunction=this.postLoginFunctionRundum;
this.info("User profile "+ci+" activated");
return true;
},activateMeichleMohr:function(cm,cn){var cp=((!org.xmlBlaster.util.isFilled(cm)||isGpsVision)&&cn.indexOf(bU)==0||cm.indexOf(m)==0);

if(!cp)return false;
watcheeOrange=bb;
watcheeColorSelf=bv;
watcheeBlue=bv;
watcheeDefaultIcon=bj;
xbProperties.setDefaultProp(bg,true);
xbProperties.setDefaultProp(ba,true);
xbProperties.setDefaultProp(bu,true);
xbProperties.setDefaultProp(bC,P);
xbProperties.setAccountProp(bm,10);
xbProperties.setAccountProp(bq,3);
xbProperties.setAccountProp(bJ,5);
xbProperties.setAccountProp(bt,false);
xbProperties.setAccountProp(bn,net.watchee.IconDisplayInfo.RENDER_ARROW);
xbProperties.setAccountProp(bi,80);
xbProperties.setAccountProp(bk,bG);
xbProperties.setAccountProp(bo,W);
xbProperties.setAccountProp(bI,W);
xbProperties.setAccountProp(bh,80);
xbProperties.setAccountProp(bl,4);
xbProperties.setAccountProp(bB,30);
xbProperties.setAccountProp(bD,0);
xbProperties.setAccountProp(a,1);
xbProperties.setAccountProp(Y,47.87);
xbProperties.setAccountProp(X,9.1);
xbProperties.setAccountProp(bd,10);
xbProperties.setAccountProp(r,false);
xbProperties.setAccountProp(bP,true);
xbProperties.setAccountProp(E,true);
var co=xbProperties.getBoolean(bR,false);

if(cn.length!=5){}else{xbProperties.setAccountProp(A,true);
xbProperties.setAccountProp(C,false);
}xbProperties.setAccountProp(S,false);
xbProperties.setAccountProp(U,false);
xbProperties.setAccountProp(t,false);
xbProperties.setAccountProp(z,false);
xbProperties.setAccountProp(bS,false);
this.trackGui.postLoginFunction=this.postLoginFunctionRundum;
this.info("User profile "+cm+" activated");
return true;
},activateWatcheeBeta:function(cq,cr){var cs=org.xmlBlaster.util.getLocation().pathname;
var ct=(cs.toLowerCase().indexOf(R)>=0);

if(!ct)return false;
xbProperties.setDefaultProp(bx,V);
cq=xbProperties.getStr(bx,cq);

if(xbProperties.getStr(bz,bA)==bA){xbProperties.setDefaultProp(bz,bf);
isDemoAccount=true;
}xbProperties.setDefaultProp(bt,true);
xbProperties.setDefaultProp(bg,true);
xbProperties.setDefaultProp(bu,true);
xbProperties.setDefaultProp(bH,true);
xbProperties.setDefaultProp(be,true);
xbProperties.setDefaultProp(bw,bF);
xbProperties.setDefaultProp(br,1000);
this.info("User profile="+cq+" loginName="+cr+" activated");
return true;
},activateWatcheePublic:function(cu,cv){if(!isWatchee){return false;
}xbProperties.setAccountProp(bE,false);
var cx=(cu.toLowerCase().indexOf(by)==0||cv.toLowerCase().indexOf(by)==0);

if(!cx)return false;
xbProperties.setAccountProp(br,100000);
var cw=xbProperties.getBoolean(be,false);

if(cw){if(xbProperties.getStr(bz,bA)==bA){xbProperties.setDefaultProp(bz,by);
}
if(xbProperties.getStr(bw,bA)==bA){xbProperties.setDefaultProp(bw,by);
}}else{if(xbProperties.getStr(bz,by)==by){xbProperties.setDefaultProp(v,true);
}}this.info("User profile="+cu+" loginName="+cv+" activated");
return true;
},activateUserProfile:function(cy,cz){var cy=org.xmlBlaster.util.isDefined(cy)?cy:bA;
var cz=org.xmlBlaster.util.isDefined(cz)?cz:bA;
xbProperties.setAccountProp(bE,true);
xbProperties.setAccountProp(bO,true);
xbProperties.setAccountProp(B,false);
xbProperties.setAccountProp(G,false);
var cA=xbProperties.getStr(bQ,bA);

if(org.xmlBlaster.util.isFilled(cA)){qx.locale.Manager.getInstance().setLocale(cA);
}
if(this.activateWatcheeBeta(cy,cz)==true)return;

if(this.activateWatcheePublic(cy,cz)==true)return;

if(this.activateGpsOem(cy,cz)==true)return;

if(this.activateGpsVision(cy,cz)==true)return;

if(this.activateRundum(cy,cz)==true)return;

if(this.activateMeichleMohr(cy,cz)==true)return;
},getCurrentLoginName:function(){if(this.trackGui==null||this.trackGui.watchee==null)return bA;
var cB=this.trackGui.watchee.getAccountTO().getLoginName();
return cB;
},hasPermissionForRestSending:function(){var cC=this.getCurrentLoginName();

if(cC==by||cC==bf)return false;
return true;
},hasPermissionForEmailSending:function(){var cD=this.getCurrentLoginName();

if(cD==by||cD==bf)return false;
return true;
},hasPermissionForSmsSending:function(){return this.hasPermissionForEmailSending();
},changeTheme:function(){var cE=qx.theme.manager.Decoration.getInstance().getTheme();
var cF=cE.decorations[q];
},chooseThemesWindow:function(){var cH=new qx.ui.window.Window(n,xbGetQxIcon(s));
cH.setLayout(new qx.ui.layout.Canvas());
this.getMyRoot().add(cH,{left:50,top:150,width:bK,height:bK});
var cG=new qx.ui.basic.Atom(f,xbGetQxIcon(u));
cG.setLocation(0,0);
cH.add(cG);
qx.util.ThemeList.createMetaButtons(cH.getPane(),0,50);
return cH;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var n="execute",m="",l="k320i",k="FAILED",j="getFriendOf",i="Set Map Coordinates",h="sound mail local",g="<enter here>",f="Enter Data",d="showDate",bn="getTrack(k320i,2007-12-30)",bm="2007-12-30",bl=")",bk="DE",bj="en",bi="Prompt",bh="http://gpsvision.de/portalhelp/",bg="Get Map Coordinates",bf="Raw subscribe",be="track.test.TestForm",u="helpUrl",v="_action",s="<qos><multiSubscribe>false</multiSubscribe><local>false</local><initialUpdate>true</initialUpdate><updateOneway>true</updateOneway><history numEntries='0' newestFirst='false'/></qos>",t="GlobalProperty",q="supportEmail",r="type",o="DeviceTests: getCommandList",p=" (",A="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.",B="Reverse Google-Geocode",J="Error, <b>bad thing</b>",H="bjoernsSubscribes",R="OEM/cleverID/supportEmail",M="Yes, <b>well done</b>",ba="zoom",W="Error",D="mail",bd="A private Question",bc="Reverse OSM-Geocode",bb="Ask",C="de",F="roaming",G="EN",I="sound zoom global",K="Testing Window",N="Please enter a <b>nice text</b>",T=", ",Y="Do you really want to <b>ask</b> a veryyyyyy long question which should not fit into one row?",w="internal.illegalArgument",x="16/apps/preferences-desktop-multimedia.png",E="Info",Q="1",P="Toggle Logging",O="red",V="getBuddies",U="ROAMING",L=" ",S="__sys__Event",a="getTracks(k320i)",X="<key oid='__sys__Event'/>",y="---",z="TestForm.js";
function c(bo,bp,bq){alert("Processing returnQosOrException ...");

try{if(bo==null)return;
var bu=org.xmlBlaster.util.getDOMDocument(bo);
var br=org.xmlBlaster.util.parseXmlBlasterResponse(bu);

if(br.length==0)return ;
var bv=br[0];

if(bv.isException()){var bs=bv.getXmlBlasterException().getErrorCodeStr();
var bt=bv.getXmlBlasterException().getMessage();
}else{}}catch(bw){alert("Processing returnQosOrException failure"+bw);
}}function b(bx){for(var bB=0;bB<bx.length;bB++){var bD=bx[bB];

try{if(bD.isException()){var bA=bD.getXmlBlasterException();
alert("The server is reporting an error"+bA);
return;
}var bz=bD.getKeyData().getOid();

if(bz==S){var by=bD.getQosData().getClientProperty(key,null);
var bC=bD.getContentStr();
}}catch(bE){alert("Processing onAjaxUpdate failure: "+bD.toXml()+" "+bE);
}}}qx.Class.define(be,{extend:qx.core.Object,construct:function(bF){qx.core.Object.call(this);
this.trackGui=bF;
},members:{showForm:function(){var bQ=new qx.ui.window.Window(K,xbGetQxIcon(x));
bQ.setLayout(new qx.ui.layout.Canvas());
bQ.setWidth(200);
bQ.setHeight(200);
this.trackGui.getMyRoot().add(bQ,{left:480,top:0});
var bK=0;
var bU=0;
var bT=new qx.ui.container.Composite(new qx.ui.layout.Grid());
bT.setBackgroundColor(O);
var bG=null;
var bM=new qx.ui.form.Button(V);
bM.addListener(n,function(e){qx.event.Timer.once(function(){this.trackGui.getBuddies();
},this,1);
},this);
bT.add(bM,{row:bK,column:bU++});
var bL=new qx.ui.form.Button(j);
bL.addListener(n,function(e){qx.event.Timer.once(function(){this.trackGui.getFriendOf();
},this,1);
},this);
bT.add(bL,{row:bK,column:bU++});
var bR=new qx.ui.form.Button(a);
bR.addListener(n,function(e){qx.event.Timer.once(function(){this.trackGui.getTracks(l);
},this,1);
},this);
bT.add(bR,{row:bK,column:bU++});
var bH=new qx.ui.form.Button(bn);
bH.addListener(n,function(e){qx.event.Timer.once(function(){this.trackGui.getTrackLocations(l,bm);
},this,1);
},this);
bT.add(bH,{row:bK,column:bU++});
var bP=new qx.ui.form.Button(P);
bP.addListener(n,function(e){qx.event.Timer.once(function(){qx.log.appender.Console.toggle();
},this,1);
},this);
bT.add(bP,{row:bK,column:bU++});
bK++;
bU=0;
var bO=new qx.ui.form.Button(bb);
bO.addListener(n,function(e){this.trackGui.askMsgBox(bd,Y,function(bV,bW){if(bV)alert("OK");
else alert("No");
},this,null);
},this);
bT.add(bO,{row:bK,column:bU++});
var bN=new qx.ui.form.Button(E);
bN.addListener(n,function(e){this.trackGui.infoMsgBox(M);
},this);
bT.add(bN,{row:bK,column:bU++});
var bS=new qx.ui.form.Button(bi);
bS.addListener(n,function(e){this.trackGui.promptMsgBox(f,N,g,5,true,function(bX,bY){if(bX){alert(bY);
}else{alert("cancel");
}},this);
},this);
bT.add(bS,{row:bK,column:bU++});
var bI=new qx.ui.form.Button(W);
bI.addListener(n,function(e){var ca=new org.xmlBlaster.util.XmlBlasterException(w,z,A);
this.trackGui.errorMsgBox(J,ca);
},this);
bT.add(bI,{row:bK,column:bU++});
{var bJ=new qx.ui.form.Button(t);
bJ.addListener(n,function(e){var cc=this.trackGui.getMyOemProperty(R,k);
var cd=this.trackGui.getMyOemProperty(q,k);
var cb=this.trackGui.getMyOemProperty(u,bh);
alert("OEM/cleverID/supportEmail="+cc+"  supportEmail="+cd+"  helpUrl="+cb);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(U);
bJ.addListener(n,function(e){if(this.trackGui.watchee==null)return false;
var cf=new net.watchee.PropertyCollection();
cf.add(new net.watchee.PropertyPair(r,F));
cf.add(new net.watchee.PropertyPair(v,Q));
var ce=true;
this.trackGui.sendActionToDevice(this.trackGui.getMyLoginName(),cf,ce);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
bK++;
bU=0;
{var bJ=new qx.ui.form.Button(bk);
bJ.addListener(n,function(e){qx.locale.Manager.getInstance().setLocale(C);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(G);
bJ.addListener(n,function(e){qx.locale.Manager.getInstance().setLocale(bj);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(h);
bJ.addListener(n,function(e){net.watchee.playSound(xbGetLocSound(D),this);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(I);
bJ.addListener(n,function(e){net.watchee.playSound(xbGetSound(ba),this);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(bc);
bJ.addListener(n,function(e){var ck=net.watchee.getReverseGeocode(47.778,9.178);
var cl=ck.address.road||y;
var ci=ck.address.postcode||m;
var ch=ck.address.village||m;
var cg=ck.address.city||null;
var cj=cl+T+ci+L+ch;

if(cg!=null&&cg!=ch)cj+=p+cg+bl;
alert("Geocode address is: "+cj);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(B);
bJ.addListener(n,function(e){net.watchee.getReverseGeocodeGoogle(47.778,9.178,function(cm){alert("TestForm.js getReverseGeocodeGoogle: "+cm.formatted_address);
},this);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
bK++;
bU=0;
{var bJ=new qx.ui.form.Button(o);
bJ.addListener(n,function(e){this.trackGui.getWindowManager().popupTestDeviceWindow();
var cn=null;
this.trackGui.sendGetDeviceCommandList(cn);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(bf);
bJ.addListener(n,function(e){this.rawSubscribe();
},this);
bT.add(bJ,{row:bK,column:bU++});
};
this.datetime=new track.util.DateTimePicker();
bT.add(this.datetime,{row:bK,column:bU++});
{var bJ=new qx.ui.form.Button(d);
bJ.addListener(n,function(e){alert(this.datetime.getValue());
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(bg);
bJ.addListener(n,function(e){var co=this.trackGui.watchee.getMapManager().getCenterCoordinates();
var cp=this.trackGui.watchee.getMapManager().getZoomFactor();
alert("Coordinates="+co.toKmlLngLatStr()+" zoomFactor="+cp);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
{var bJ=new qx.ui.form.Button(i);
bJ.addListener(n,function(e){this.trackGui.watchee.getMapManager().setCenterAndZoom(47.11,9.18,6);
},this);
bT.add(bJ,{row:bK,column:bU++});
};
bT.add(new track.devicestable.DevicesTableRemote().create(),{row:++bK,column:0,colSpan:6});
bQ.add(bT);
bQ.open();
return bQ;
},rawSubscribe:function(){var ct=this.trackGui.watchee.xbAccess;
var cu=null;
ct.startAjaxPolling(b,cu);
var cs=H;
var cq=self;
var cr=s;
var cv=X;
ct.subscribe(cv,cr,c,cq,cs);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var k="",j='</div>',i="Up",h="none",g="keypress",f='.qxconsole .messages{background:white;height:100%;width:100%;overflow:auto;}',d="Enter",c="px",b='.qxconsole .messages .user-result{background:white}',a='.qxconsole .messages .level-error{background:#FFE2D5}',V="div",U="user-command",T='<div class="command">',S='.qxconsole .command input:focus{outline:none;}',R='.qxconsole .messages .type-key{color:#565656;font-style:italic}',Q='.qxconsole .messages .type-instance{color:#565656;font-weight:bold}',P='.qxconsole .messages div{padding:0px 4px;}',O='.qxconsole .messages .level-debug{background:white}',N='.qxconsole .messages .type-class{color:#5F3E8A;font-weight:bold}',M="DIV",r='.qxconsole .messages .level-user{background:#E3EFE9}',s='<div class="qxconsole">',p="D",q='.qxconsole .messages .type-map{color:#CC3E8A;font-weight:bold;}',n='.qxconsole .messages .type-string{color:black;font-weight:normal;}',o='.qxconsole .control a{text-decoration:none;color:black;}',l='<div class="messages">',m='.qxconsole .messages .type-boolean{color:#15BC91;font-weight:normal;}',t='<input type="text"/>',u="clear",B='.qxconsole .command input{width:100%;border:0 none;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.2;}',z='.qxconsole .messages .type-array{color:#CC3E8A;font-weight:bold;}',F='.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;}',D='.qxconsole .command{background:white;padding:2px 4px;border-top:1px solid black;}',I='.qxconsole .messages .user-command{color:blue}',H="F7",w="qx.log.appender.Console",L='.qxconsole .messages .level-info{background:#DEEDFA}',K="block",J='.qxconsole .messages .level-warn{background:#FFF7D5}',v='.qxconsole .messages .type-stringify{color:#565656;font-weight:bold}',x='.qxconsole .messages .user-error{background:#FFE2D5}',y='.qxconsole .control{background:#cdcdcd;border-bottom:1px solid black;padding:4px 8px;}',A='<div class="control"><a href="javascript:qx.log.appender.Console.clear()">Clear</a> | <a href="javascript:qx.log.appender.Console.toggle()">Hide</a></div>',C=">>> ",E="Down",G='.qxconsole .messages .type-number{color:#155791;font-weight:normal;}';
qx.Class.define(w,{statics:{init:function(){var W=[F,y,o,f,P,I,b,x,O,L,J,a,r,n,G,m,z,q,R,N,Q,v,D,B,S];
qx.bom.Stylesheet.createElement(W.join(k));
var Y=[s,A,l,j,T,t,j,j];
var ba=document.createElement(M);
ba.innerHTML=Y.join(k);
var X=ba.firstChild;
document.body.appendChild(ba.firstChild);
this.__uD=X;
this.__uE=X.childNodes[1];
this.__uF=X.childNodes[2].firstChild;
this.__uK();
qx.log.Logger.register(this);
qx.core.ObjectRegistry.register(this);
},dispose:function(){qx.event.Registration.removeListener(document.documentElement,g,this.__uL,this);
qx.log.Logger.unregister(this);
},clear:function(){this.__uE.innerHTML=k;
},process:function(bb){this.__uE.appendChild(qx.log.appender.Util.toHtml(bb));
this.__uG();
},__uG:function(){this.__uE.scrollTop=this.__uE.scrollHeight;
},__uH:true,toggle:function(){if(!this.__uD){this.init();
}else if(this.__uD.style.display==h){this.show();
}else{this.__uD.style.display=h;
}},show:function(){if(!this.__uD){this.init();
}else{this.__uD.style.display=K;
this.__uE.scrollTop=this.__uE.scrollHeight;
}},__uI:[],execute:function(){var be=this.__uF.value;

if(be==k){return;
}
if(be==u){return this.clear();
}var bc=document.createElement(V);
bc.innerHTML=qx.log.appender.Util.escapeHTML(C+be);
bc.className=U;
this.__uI.push(be);
this.__uJ=this.__uI.length;
this.__uE.appendChild(bc);
this.__uG();

try{var bd=window.eval(be);
}catch(bf){qx.log.Logger.error(bf);
}
if(bd!==undefined){qx.log.Logger.debug(bd);
}},__uK:function(e){this.__uE.style.height=(this.__uD.clientHeight-this.__uD.firstChild.offsetHeight-this.__uD.lastChild.offsetHeight)+c;
},__uL:function(e){var bh=e.getKeyIdentifier();
if((bh==H)||(bh==p&&e.isCtrlPressed())){this.toggle();
e.preventDefault();
}if(!this.__uD){return;
}if(!qx.dom.Hierarchy.contains(this.__uD,e.getTarget())){return;
}if(bh==d&&this.__uF.value!=k){this.execute();
this.__uF.value=k;
}if(bh==i||bh==E){this.__uJ+=bh==i?-1:1;
this.__uJ=Math.min(Math.max(0,this.__uJ),this.__uI.length);
var bg=this.__uI[this.__uJ];
this.__uF.value=bg||k;
this.__uF.select();
}}},defer:function(bi){qx.event.Registration.addListener(document.documentElement,g,bi.__uL,bi);
}});
})();
(function(){var l="'>",k="[",h=", ",g="</span>",f="<span class='type-",e="</span> ",d="}",c="",b="]",a="\n",K="{",J="map",I="function",H="<span class='object'>",G="]:",F="&gt;",E="<span class='object' title='Object instance with hash code: ",D="string",C="level-",B="0",s="&lt;",t="<span class='offset'>",q=":",r="qx.log.appender.Util",o="&amp;",p="&#39;",m="DIV",n="<span>",u="&quot;",v="<span class='type-key'>",x="</span>:<span class='type-",w="</span>: ",z=" ",y="]</span>: ",A="?";
qx.Class.define(r,{statics:{toHtml:function(L){var V=[];
var S,U,N,P;
V.push(t,this.formatOffset(L.offset,6),e);

if(L.object){var M=L.win.qx.core.ObjectRegistry.fromHashCode(L.object);

if(M){V.push(E+M.$$hash+l,M.classname,k,M.$$hash,y);
}}else if(L.clazz){V.push(H+L.clazz.classname,w);
}var O=L.items;

for(var i=0,T=O.length;i<T;i++){S=O[i];
U=S.text;

if(U instanceof Array){var P=[];

for(var j=0,R=U.length;j<R;j++){N=U[j];

if(typeof N===D){P.push(n+this.escapeHTML(N)+g);
}else if(N.key){P.push(v+N.key+x+N.type+l+this.escapeHTML(N.text)+g);
}else{P.push(f+N.type+l+this.escapeHTML(N.text)+g);
}}V.push(f+S.type+l);

if(S.type===J){V.push(K,P.join(h),d);
}else{V.push(k,P.join(h),b);
}V.push(g);
}else{V.push(f+S.type+l+this.escapeHTML(U)+e);
}}var Q=document.createElement(m);
Q.innerHTML=V.join(c);
Q.className=C+L.level;
return Q;
},formatOffset:function(W,length){var ba=W.toString();
var X=(length||6)-ba.length;
var Y=c;

for(var i=0;i<X;i++){Y+=B;
}return Y+ba;
},FORMAT_STACK:null,escapeHTML:function(bb){return String(bb).replace(/[<>&"']/g,this.__uM);
},__uM:function(bc){var bd={"<":s,">":F,"&":o,"'":p,'"':u};
return bd[bc]||A;
},toText:function(be){return this.toTextArray(be).join(z);
},toTextArray:function(bf){var bn=[];
bn.push(this.formatOffset(bf.offset,6));

if(bf.object){var bg=bf.win.qx.core.ObjectRegistry.fromHashCode(bf.object);

if(bg){bn.push(bg.classname+k+bg.$$hash+G);
}}else if(bf.clazz){bn.push(bf.clazz.classname+q);
}var bh=bf.items;
var bk,bm;

for(var i=0,bl=bh.length;i<bl;i++){bk=bh[i];
bm=bk.text;

if(bk.trace&&bk.trace.length>0){if(typeof (this.FORMAT_STACK)==I){bm+=a+this.FORMAT_STACK(bk.trace);
}else{bm+=a+bk.trace;
}}
if(bm instanceof Array){var bi=[];

for(var j=0,bj=bm.length;j<bj;j++){bi.push(bm[j].text);
}
if(bk.type===J){bn.push(K,bi.join(h),d);
}else{bn.push(k,bi.join(h),b);
}}else{bn.push(bm);
}}return bn;
}}});
})();
(function(){var k="batteryHalf.png",j="deviceConfigOn.png",h="telephone.png",g="Hist",f="alarmOn.png",e="batteryLow.png",d="State",c="Rules",b="alarmOff.png",a="deviceAutoTrackingOn.png",G="track.devicestable.DevicesTableRemote",F="showingOnMapOff.png",E="deviceAutoTrackingOff.png",D="deviceStateSleep.png",C="batteryFull.png",B="Auto",A="Alarm",z="deviceStateOff.png",y="deviceAutoTrackingOnCentered.png",x="batteryCharger.png",r="rulesOff.png",s="deviceStateOn.png",p="showingOnMapOn.png",q="Bat",n="Show",o="Conf",l="rulesOn.png",m="batteryNA.png",t="32/statusLine/",u="deviceStateUnknown.png",w="deviceStateNoGPS.png",v="historyTracksOn.png";
qx.Class.define(G,{extend:qx.core.Object,construct:function(H){qx.core.Object.call(this);
this.trackGui=H;
},members:{create:function(){var R=[d,q,A,g,o,c,B,n];
function V(name){return xbGetIcon(t+name);
}var P=[w,z,s,D,u];
var I=[x,C,k,e,m];
var M=[b,f];
var N=[v];
var S=[j];
var K=[r,l];
var L=[E,y,a];
var J=[F,p];
var O=[h];
var Q=[];

for(var W=0;W<20;W++){Q.push([V(P[Math.floor(Math.random()*1000)%5]),V(I[Math.floor(Math.random()*1000)%5]),V(M[Math.floor(Math.random()*1000)%2]),V(N[0]),V(S[0]),V(K[Math.floor(Math.random()*1000)%2]),V(L[Math.floor(Math.random()*1000)%3]),V(J[Math.floor(Math.random()*1000)%2])]);
}var U=new qx.ui.table.model.Simple();
U.setColumns(R);
U.setData(Q);
var T=new qx.ui.table.Table(U);
T.setRowHeight(32);

for(var i=0;i<U.getColumnCount();i++){T.getTableColumnModel().setDataCellRenderer(i,new qx.ui.table.cellrenderer.Image(32,32));
}return T;
}}});
})();
(function(){var k="execute",j="Button",i="loginPost",h="loginDone",g="red",f="logoutPre",d="expiry info",c="popupTaskWindow failed: ",b="statisticWindow.enabled",a="renewWarningDays",S="Internet Explorer is not supported, please use the free <a href='http://www.mozilla.com' target='_blank'>Firefox</a>",R="Exception in MenuBar.js loginDoneListenerFunc",Q="_blank",P="22/video.png",O="22/categories/development.png",N="Geofence",M="Rules",L="22/userAdmin.png",K="22/rules/rules.png",J="Your account expires today. <a href='%1' target='_blank'>Renew now</a>",r="popupStatisticWindow failed: ",s="Your account expires tomorrow. <a href='%2' target='_blank'>Renew now</a>",p="22/statistic.png",q="userAdmin",n="http://gpsvision.de/portalhelp",o="renew",l="showMenuBarVideoButton",m="middle",t="Your account is expired since %1 days. <a href='%2' target='_blank'>Renew now</a>",u="Tasks",B="videoWindow.enabled",z="track.mainview.MenuBar",D="Statistic",C="browser info",F="Your account expires in %1 days. <a href='%2' target='_blank'>Renew now</a>",E="Video-Help",w="renewUrl",I="22/rules/geofence.png",H="geofenceWindow.enabled",G="rulesWindow.enabled",v="http://www.youtube.com/watch?v=yIRy1AsKEWs",x="User Admin",y="tasksVisible",A="left";
qx.Class.define(z,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(T){qx.core.Object.call(this);
this.trackGui=T;
this.loginPostListenerFunc=null;
this.logoutPreListenerFunc=null;
this.menuBarContainer=null;
this.videoButton=null;
this.homeViewSelectBox=null;
this.maxColHack=0;
},members:{makeMenuBar:function(){var U=new qx.ui.layout.Grid(5,5);
U.setColumnAlign(0,A,m);
U.setRowHeight(0,12);
U.setRowHeight(1,22);
this.menuBarContainer=new qx.ui.container.Composite(U);
var X=0;
var V=0;
this.showInternetExplorerWarning();
X=1;
V=0;
this.geofenceButton=new qx.ui.form.Button(this.trc(j,N),xbGetIcon(I));
this.menuBarContainer.add(this.geofenceButton,{row:X,column:V++});
this.geofenceButton.addListener(k,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(j,M),xbGetIcon(K));
this.menuBarContainer.add(this.rulesButton,{row:X,column:V++});
this.rulesButton.addListener(k,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(j,D),xbGetIcon(p));
this.menuBarContainer.add(this.statisticButton,{row:X,column:V++});
this.statisticButton.addListener(k,function(e){if(this.trackGui.watchee==null)return;

try{this.trackGui.getWindowManager().popupStatisticWindow(null);
}catch(Y){this.trackGui.errorMsgBoxDeveloper(r+Y);
}},this);
this.homeViewSelectBox=new track.mainview.HomeViewSelectBox(this.trackGui);
this.menuBarContainer.add(this.homeViewSelectBox,{row:X,column:V++});
this.tasksVisible=xbProperties.getStr(y,false);

if(this.tasksVisible){this.taskButton=new qx.ui.form.Button(this.trc(j,u),xbGetQxIcon(O));
this.taskButton.addListener(k,function(e){try{this.trackGui.getWindowManager().popupTaskWindow(null);
}catch(ba){this.trackGui.errorMsgBoxDeveloper(c+ba);
}},this);
this.menuBarContainer.add(this.taskButton,{row:X,column:V++});
}this.checkShowingVideoButton(X,V++);
if(xbProperties.getBoolean(q,false)==true){this.userAdminButton=new qx.ui.form.Button(this.trc(j,x),xbGetIcon(L));
this.menuBarContainer.add(this.userAdminButton,{row:X,column:V++});
this.userAdminButton.addListener(k,function(e){this.info("MenuBar.js: Pressed User Admin");

if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().popupUserAdminWindow();
},this);
}this.maxColHack=V;
this.enableButtons(false);
this.registerListeners();
var W=new qx.ui.container.Scroll(this.menuBarContainer);
return W;
},showInternetExplorerWarning:function(){if(org.xmlBlaster.util.isIE){var bb=new qx.ui.basic.Label(this.trc(C,S));
bb.setRich(true);
bb.setTextColor(g);
this.showWarningAtVeryTop(bb);
}},showExpiryWarning:function(){var bf=-9999;
var be=xbProperties.getInt(a,7);

if(be==-1){return bf;
}var bc=this.trackGui.getMyAccountTO().getEndDate();

if(bc==null){return bf;
}var bj=new Date();
var bh=bc.getTime()-bj.getTime();
var bd=org.xmlBlaster.util.getDiffDateHumanReadable(bh);
bf=bd.days;

if(bh<0)bf*=-1;
if(bf<be){var bg=this.trackGui.getMyOemLink(w,n,o);
var bi=null;

if(bf>0){bi=new qx.ui.basic.Label(this.trn(s,F,bf,bf,bg));
}else if(bf==0){bi=new qx.ui.basic.Label(this.trc(d,J,bg));
}else{bi=new qx.ui.basic.Label(this.trc(d,t,bf,bg));
}bi.setRich(true);
bi.setTextColor(g);
this.showWarningAtVeryTop(bi);
}return bf;
},onLogout:function(){this.showWarningAtVeryTop(null);
this.showInternetExplorerWarning();
},showWarningAtVeryTop:function(bk){var bk=bk||null;
var bm=0;
var bo=0;
var bl=this.menuBarContainer.getLayout().getCellWidget(bm,bo);

if(bl!=null){this.menuBarContainer.remove(bl);
}
if(bk==null){return;
}var bn=4;
this.menuBarContainer.add(bk,{row:bm,column:bo,colSpan:bn});
bo+=bn;
},enableButtons:function(bp){this.menuBarContainer.setEnabled(bp);
this.geofenceButton.setEnabled(xbProperties.getBoolean(H,true)&&bp);
this.rulesButton.setEnabled(xbProperties.getBoolean(G,true)&&bp);
this.statisticButton.setEnabled(xbProperties.getBoolean(b,true)&&bp);
if(this.videoButton!=null)this.videoButton.setEnabled(xbProperties.getBoolean(B,true)&&bp);
},checkShowingVideoButton:function(bq,br){if(xbProperties.getBoolean(l,false)){this.__uN(bq,br);
}else{this.__uO();
}},__uN:function(bs,bt){if(this.videoButton!=null)return;
this.videoButton=new qx.ui.form.Button(this.trc(j,E),xbGetIcon(P));
this.menuBarContainer.add(this.videoButton,{row:bs,column:bt});
this.videoButton.addListener(k,function(e){this.info("MenuBar.js: Pressed Video");
window.open(v,Q);

if(this.trackGui.watchee==null)return;
},this);
},__uO: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(i,function(bu){this.enableButtons(true);
},this);
this.loginDoneListenerFunc=this.trackGui.getEventManager().addListener(h,function(bv){try{this.homeViewSelectBox.updateItems();
}catch(bw){this.trackGui.errorMsgBoxDeveloper(R,bw);
}},this);
this.logoutPreListenerFunc=this.trackGui.getEventManager().addListener(f,function(bx){this.enableButtons(false);
this.homeViewSelectBox.logoutPre();
},this);
},clear:function(){if(this.loginPostListenerFunc!=null){this.trackGui.getEventManager().removeListener(i,this.loginPostListenerFunc);
this.loginPostListenerFunc=null;
}
if(this.logoutPreListenerFunc!=null){this.trackGui.getEventManager().removeListener(f,this.logoutPreListenerFunc);
this.logoutPreListenerFunc=null;
}
if(this.loginDoneListenerFunc!=null){this.trackGui.getEventManager().removeListener(h,this.loginDoneListenerFunc);
this.loginDoneListenerFunc=null;
}}}});
})();
(function(){var s="homeView",r="atom",q="ComboBox",p="16/actions/go-home.png",o="22/actions/go-home.png",n="popup",m="ToolTip",l="errorBox",k="<New home view>",j="changeSelection",c="16/actions/list-add.png",h="changeHomeView",g="Loading home view failed: %1",b="Berlin",a="Add new home views under Config",f="track.mainview.HomeViewSelectBox",d="qx.event.type.Data";
qx.Class.define(f,{extend:qx.ui.form.SelectBox,construct:function(t){this.trackGui=t;
qx.ui.form.SelectBox.call(this);
this.getChildControl(r).setAnonymous(false);
this.noEvent=false;
this.configMode=false;
this.newHomeView=null;
this.setToolTipText(this.trc(m,a));
this.icon=xbGetQxIcon(o);
this.addListener(j,function(e){if(this.noEvent)return;
var u=(e.getData().length==0)?null:e.getData()[0];
this._centerHomeView(u);
},this);
},events:{"changeHomeView":d},members:{setConfigMode:function(){this.configMode=true;
this.icon=xbGetQxIcon(p);
this.resetToolTipText();
this.newHomeView=new net.watchee.HomeView(this.trc(q,k),0,0,0);
},updateItems:function(){this.removeAll();
var w=this.trackGui.getMyAccountTO().getHomeViewsData();
var x=w.getArr();

if(x.length<1)x.push(this.createDummyEntry());

if(this.configMode){var v=this.parseListItem(this.newHomeView);
v.setIcon(xbGetQxIcon(c));
this._addNoEvent(v);
}
if(x.length>0&&x!=null){for(var i=0;i<x.length;i++){this._addNoEvent(this.parseListItem(x[i]));
}}},logoutPre:function(){this.removeAll();
},createDummyEntry:function(){return new net.watchee.HomeView(b,52.5,13.4,11);
},parseListItem:function(y){var z=new qx.ui.form.ListItem(y.getName(),this.icon);
z.setUserData(s,y);
return z;
},_addNoEvent:function(A){this.noEvent=true;
this.add(A);
this.noEvent=false;
},_onClick:function(e){var B=e.getTarget();

if(B==this.getChildControl(r)&&!this.getChildControl(n).isVisible()){var C=this.getSelection()[0];
this._centerHomeView(C);
}else{this.toggle();
}},_centerHomeView:function(D){if(D==null)return;

if(this.trackGui.watchee==null)return;
var E=D.getUserData(s);

if(E==null)return;

try{if(E!=this.newHomeView)this.trackGui.watchee.getMapManager().setCenterAndZoom(E.getLat(),E.getLon(),E.getZoom());
this.fireDataEvent(h,E);
}catch(F){this.trackGui.errorMsgBoxDeveloper(this.trc(l,g,F));
}}}});
})();
(function(){var k="right",j="Login",i="execute",h="public",g="errorMsgBox title",f="click",d="bold",c="red",b="Enter",a="submitLoginButton.enabled",G="Password",F="16/actions/dialog-ok.png",E="preferenceWindow.enabled",D="Login name",C="22/Flag_Germany.png",B="Login problem",A="password",z="The Password Label",y="The Login name Label",x="track.mainview.LoginForm",r="loginName",s="Button Label",p="middle",q="Logout problem",n="16/actions/go-home.png",o="Config",l="The Config Button",m="de",t="The Login Button",u="keypress",w="en",v="22/Flag_England.png";
qx.Class.define(x,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(H){qx.core.Object.call(this);
this.trackGui=H;
},members:{makeLoginForm:function(){var L=new qx.ui.layout.Grid(10,10);
L.setColumnAlign(0,k,p);
L.setRowHeight(0,22);
L.setRowHeight(1,22);
var I=new qx.ui.container.Composite(L);
var M=new qx.ui.basic.Label(this.trc(y,D));

with(M){setFont(d);
setTextColor(watcheeOrange);
}I.add(M,{row:0,column:0});
this.loginTextField=new qx.ui.form.TextField(xbProperties.getStr(r,h));
I.add(this.loginTextField,{row:0,column:1});
var K=new qx.ui.basic.Label(this.trc(z,G));

with(K){setFont(d);
setTextColor(watcheeOrange);
}I.add(K,{row:1,column:0});
this.passwordTextField=new qx.ui.form.PasswordField(xbProperties.getStr(A,h));
I.add(this.passwordTextField,{row:1,column:1});
this.clickedLoginButtonIsProcessing=false;
this.passwordTextField.addListener(u,function(N){if(N.getKeyIdentifier()==b){this.clickedLoginButton();
}},this);
this.configureButton=new qx.ui.form.Button(this.trc(l,o),xbGetQxIcon(n));

with(this.configureButton){setAlignX(k);
setEnabled(false);
}I.add(this.configureButton,{row:0,column:2});
this.submitLoginButton=new qx.ui.form.Button(this.trc(t,j),xbGetQxIcon(F));
this.submitLoginButton.setEnabled(xbProperties.getBoolean(a,true));

with(this.submitLoginButton){setAlignX(k);
setBackgroundColor(c);
}I.add(this.submitLoginButton,{row:1,column:2});
this.configureButton.addListener(i,function(e){if(this.trackGui.watchee==null)return;
this.trackGui.createPreferenceWindow();
},this);
this.clickedLoginButtonIsProcessing=false;
this.submitLoginButton.addListener(i,function(e){this.clickedLoginButton();
},this);
var J=new qx.ui.basic.Atom(null,xbGetIcon(v));
J.addListener(f,function(e){qx.locale.Manager.getInstance().setLocale(w);
},this);
I.add(J,{row:0,column:3});
var J=new qx.ui.basic.Atom(null,xbGetIcon(C));
J.addListener(f,function(e){qx.locale.Manager.getInstance().setLocale(m);
},this);
I.add(J,{row:1,column:3});
return I;
},clickedLoginButton:function(){if(this.clickedLoginButtonIsProcessing)return;
this.clickedLoginButtonIsProcessing=true;
var O=(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(P){this.trackGui.errorMsgBox((O?this.trc(g,B):this.trc(g,q)),P);
}this.clickedLoginButtonIsProcessing=false;
},getLoginTextFieldValue:function(){return org.xmlBlaster.util.trim(this.loginTextField.getValue());
},setPasswordTextFieldValue:function(Q){this.passwordTextField.setValue(Q);
},getPasswordTextFieldValue:function(){return this.passwordTextField.getValue();
},setSubmitLoginButtonLabel:function(R){this.submitLoginButton.setLabel(R);
},isLoggedIn:function(){if(xbProperties.getBoolean(E,true)){this.configureButton.setEnabled(true);
}this.submitLoginButton.resetBackgroundColor();
},isLoggedOut:function(){this.configureButton.setEnabled(false);
this.submitLoginButton.setLabel(this.trc(s,j));
this.submitLoginButton.setBackgroundColor(c);
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var k="slider",j="splitter",i="horizontal",h="px",g="vertical",f="knob",d="mousedown",c="mouseout",b="Integer",a="height",D="mousemove",C="move",B="maxHeight",A="resize",z="width",w="_applyOrientation",v="_applyOffset",u="splitpane",t="qx.ui.splitpane.Pane",s="top",q="minHeight",r="mouseup",o="minWidth",p="appear",m="losecapture",n="left",l="maxWidth";
qx.Class.define(t,{extend:qx.ui.core.Widget,construct:function(E){qx.ui.core.Widget.call(this);
this.__uP=[];
if(E){this.setOrientation(E);
}else{this.initOrientation();
}this.__uX.addListener(d,this._onMouseDown,this);
this.__uX.addListener(r,this._onMouseUp,this);
this.__uX.addListener(D,this._onMouseMove,this);
this.__uX.addListener(c,this._onMouseOut,this);
this.__uX.addListener(m,this._onMouseUp,this);
},properties:{appearance:{refine:true,init:u},offset:{check:b,init:6,apply:v},orientation:{init:i,check:[i,g],apply:w}},members:{__uQ:null,__uR:false,__uS:null,__uT:null,__uU:null,__uV:null,__uW:null,__uP:null,__uX:null,_createChildControlImpl:function(F,G){var H;

switch(F){case k:H=new qx.ui.splitpane.Slider(this);
H.exclude();
this._add(H,{type:F});
break;
case j:H=new qx.ui.splitpane.Splitter(this);
this._add(H,{type:F});
H.addListener(C,this.__uY,this);
break;
}return H||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,F);
},__uY:function(e){this.__vb(e.getData());
},__va:function(I){this.__uX=new qx.ui.splitpane.Blocker(I);
this.getContentElement().add(this.__uX);
var J=this.getChildControl(j);
var K=J.getWidth();

if(!K){J.addListenerOnce(p,function(){this.__vb();
},this);
}J.addListener(A,function(e){var L=e.getData();

if(L.height==0||L.width==0){this.__uX.hide();
}else{this.__uX.show();
}},this);
},getBlocker:function(){return this.__uX;
},_applyOrientation:function(M,N){var O=this.getChildControl(k);
var R=this.getChildControl(j);
this.__uU=M===i;

if(!this.__uX){this.__va(M);
}this.__uX.setOrientation(M);
var Q=this._getLayout();

if(Q){Q.dispose();
}var P=M===g?new qx.ui.splitpane.VLayout:new qx.ui.splitpane.HLayout;
this._setLayout(P);
R.removeState(N);
R.addState(M);
R.getChildControl(f).removeState(N);
R.getChildControl(f).addState(M);
O.removeState(N);
O.addState(M);
qx.ui.core.queue.Manager.flush();
this.__vb();
},_applyOffset:function(S,T){this.__vb();
},__vb:function(U){var V=this.getChildControl(j);
var ba=this.getOffset();
var bb=V.getBounds();
var Y=V.getContainerElement().getDomElement();
if(!Y){return;
}if(this.__uU){var X=null;

if(U){X=U.width;
}else if(bb){X=bb.width;
}var bc=U&&U.left;

if(X){if(!bc){bc=qx.bom.element.Location.getPosition(Y).left;
}this.__uX.setWidth(ba,X);
this.__uX.setLeft(ba,bc);
}}else{var W=null;

if(U){W=U.height;
}else if(bb){W=bb.height;
}var top=U&&U.top;

if(W){if(!top){top=qx.bom.element.Location.getPosition(Y).top;
}this.__uX.setHeight(ba,W);
this.__uX.setTop(ba,top);
}}},add:function(bd,be){if(be==null){this._add(bd);
}else{this._add(bd,{flex:be});
}this.__uP.push(bd);
},remove:function(bf){this._remove(bf);
qx.lang.Array.remove(this.__uP,bf);
},getChildren:function(){return this.__uP;
},_onMouseDown:function(e){if(!e.isLeftPressed()){return;
}var bg=this.getChildControl(j);
var bi=bg.getContainerLocation();
var bh=this.getContentLocation();
this.__uQ=this.__uU?e.getDocumentLeft()-bi.left+bh.left:e.getDocumentTop()-bi.top+bh.top;
var bk=this.getChildControl(k);
var bj=bg.getBounds();
bk.setUserBounds(bj.left,bj.top,bj.width,bj.height);
bk.setZIndex(bg.getZIndex()+1);
bk.show();
this.__uR=true;
this.__uX.capture();
e.stop();
},_onMouseMove:function(e){this._setLastMousePosition(e.getDocumentLeft(),e.getDocumentTop());
if(this.__uR){this.__vc();
var bl=this.getChildControl(k);
var bm=this.__uV;

if(this.__uU){bl.setDomLeft(bm);
this.__uX.setStyle(n,(bm-this.getOffset())+h);
}else{bl.setDomTop(bm);
this.__uX.setStyle(s,(bm-this.getOffset())+h);
}e.stop();
}},_onMouseOut:function(e){this._setLastMousePosition(e.getDocumentLeft(),e.getDocumentTop());
},_onMouseUp:function(e){if(!this.__uR){return;
}this._finalizeSizes();
var bn=this.getChildControl(k);
bn.exclude();
this.__uR=false;
this.releaseCapture();
e.stop();
},_finalizeSizes:function(){var br=this.__uV;
var bo=this.__uW;

if(br==null){return;
}var bt=this._getChildren();
var bs=bt[2];
var bp=bt[3];
var bq=bs.getLayoutProperties().flex;
var bu=bp.getLayoutProperties().flex;
if((bq!=0)&&(bu!=0)){bs.setLayoutProperties({flex:br});
bp.setLayoutProperties({flex:bo});
}else{if(this.__uU){bs.setWidth(br);
bp.setWidth(bo);
}else{bs.setHeight(br);
bp.setHeight(bo);
}}},__vc:function(){if(this.__uU){var bx=o,bE=z,by=l,bC=this.__uS;
}else{var bx=q,bE=a,by=B,bC=this.__uT;
}var bD=this._getChildren();
var bv=bD[2].getSizeHint();
var bA=bD[3].getSizeHint();
var bB=bD[2].getBounds()[bE]+bD[3].getBounds()[bE];
var bz=bC-this.__uQ;
var bw=bB-bz;
if(bz<bv[bx]){bw-=bv[bx]-bz;
bz=bv[bx];
}else if(bw<bA[bx]){bz-=bA[bx]-bw;
bw=bA[bx];
}if(bz>bv[by]){bw+=bz-bv[by];
bz=bv[by];
}else if(bw>bA[by]){bz+=bw-bA[by];
bw=bA[by];
}this.__uV=bz;
this.__uW=bw;
},_isActiveDragSession:function(){return this.__uR;
},_setLastMousePosition:function(x,y){this.__uS=x;
this.__uT=y;
}},destruct:function(){this.__uP=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 e="center",d="knob",c="middle",b="qx.ui.splitpane.Splitter",a="vertical";
qx.Class.define(b,{extend:qx.ui.core.Widget,construct:function(f){qx.ui.core.Widget.call(this);
if(f.getOrientation()==a){this._setLayout(new qx.ui.layout.HBox(0,e));
this._getLayout().setAlignY(c);
}else{this._setLayout(new qx.ui.layout.VBox(0,c));
this._getLayout().setAlignX(e);
}this._createChildControl(d);
},properties:{allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{_createChildControlImpl:function(g,h){var i;

switch(g){case d:i=new qx.ui.basic.Image;
this._add(i);
break;
}return i||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,g);
}}});
})();
(function(){var o="px",n="horizontal",m="top",l="height",k="width",j="left",i="100%",h="cursor",g="vertical",f="_applyOrientation",c="qx.ui.splitpane.Blocker",e="col-resize",d="row-resize",b="div",a="absolute";
qx.Class.define(c,{extend:qx.html.Element,construct:function(p){var q={position:a,zIndex:11};
qx.html.Element.call(this,b,q);
if(p){this.setOrientation(p);
}else{this.initOrientation();
}},properties:{orientation:{init:n,check:[n,g],apply:f}},members:{_applyOrientation:function(r,s){if(r==n){this.setStyle(l,i);
this.setStyle(h,e);
this.setStyle(m,null);
}else{this.setStyle(k,i);
this.setStyle(j,null);
this.setStyle(h,d);
}},setWidth:function(t,u){var v=u+2*t;
this.setStyle(k,v+o);
},setHeight:function(w,x){var y=x+2*w;
this.setStyle(l,y+o);
},setLeft:function(z,A){var B=A-z;
this.setStyle(j,B+o);
},setTop:function(C,D){var top=D-C;
this.setStyle(m,top+o);
}}});
})();
(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(d,e){var v=this._getLayoutChildren();
var length=v.length;
var s,u;
var g,f,p,h;

for(var i=0;i<length;i++){s=v[i];
u=s.getLayoutProperties().type;

if(u===b){f=s;
}else if(u===c){p=s;
}else if(!g){g=s;
}else{h=s;
}}
if(g&&h){var x=g.getLayoutProperties().flex;
var j=h.getLayoutProperties().flex;

if(x==null){x=1;
}
if(j==null){j=1;
}var w=g.getSizeHint();
var m=f.getSizeHint();
var o=h.getSizeHint();
var t=w.width;
var r=m.width;
var q=o.width;

if(x>0&&j>0){var k=x+j;
var l=d-r;
var t=Math.round((l/k)*x);
var q=l-t;
var n=qx.ui.layout.Util.arrangeIdeals(w.minWidth,t,w.maxWidth,o.minWidth,q,o.maxWidth);
t=n.begin;
q=n.end;
}else if(x>0){t=d-r-q;

if(t<w.minWidth){t=w.minWidth;
}
if(t>w.maxWidth){t=w.maxWidth;
}}else if(j>0){q=d-t-r;

if(q<o.minWidth){q=o.minWidth;
}
if(q>o.maxWidth){q=o.maxWidth;
}}g.renderLayout(0,0,t,e);
f.renderLayout(t,0,r,e);
h.renderLayout(t+r,0,q,e);
}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 E=0,F=0,y=0;
var B=0,D=0,C=0;

for(var i=0;i<length;i++){A=H[i];
G=A.getLayoutProperties();
if(G.type===c){continue;
}z=A.getSizeHint();
E+=z.minWidth;
F+=z.width;
y+=z.maxWidth;

if(z.minHeight>B){B=z.minHeight;
}
if(z.height>D){D=z.height;
}
if(z.maxHeight>C){C=z.maxHeight;
}}return {minWidth:E,width:F,maxWidth:y,minHeight:B,height:D,maxHeight:C};
}}});
})();
(function(){var cg="ToolTip",cf="",ce="row",cd="column",cc="execute",cb="_",ca="device",bY="12:34",bX="transparent",bW="table-scroller-header",bw="auto",bv="/watchee/marker/_28_28_20_1.5_70_",bu="red",bt=".png",bs="0",br="Sortable column",bq="meeeier",bp="Battery status is not known",bo="16/statusLine/toolTipIcon.png",bn="-",cn="Meier",co="16/view-sort.png",cl="black",cm="top",cj="<b>%1</b> is online but has no GPS signal",ck="muuuel",ch="caption",ci="Please check one alarm",cp="Edit alarm rules",cq="Color of segment",bP="48/statusLine/LorryGreen.png",bO=" / ",bR="Müller",bQ="Make a phone call to %1 (%2) using your phone %3",bT="Click to configure my account attributes and add buddies",bS="Device is charged by external power supply [%1 %2V]",bV="16/actions/view-sort-descending.png",bU="soome",bN="Test-",bM="One device found",a="<b>%1</b> is offline",b="You have <b>no</b> permission to track on the map",c="<b>%1</b> is in power saving mode (sleeping)",d="Please reload the battery [%1 %2%]",f="bold",g="<b>%1</b> is online",h="16/sort_red.png",j="Click to show device position on the map or Right-Click to avoid zooming in",k="Remove Row",m="16/sort_yellow.png",cu="Power available [%1 %2V]",ct="32/statusLine/telephone.png",cs="Click to display centered auto-tracking data on the map or Right-Click to not center",cr="16/sort_yellow_desc.png",cy="#CCFFCC",cx="48/statusLine/Excavator.png",cw="track.devicestable.DevicesTable",cv="#",cA="48/statusLine/TowTruckYellow.png",cz="Device is charged by external power supply [%1 %2%]",L="Remove All",M="zooros",J="16/actions/view-sort-ascending.png",K="isIoVisible",P="Send Event",Q="/watchee/marker",N="48/statusLine/CarGrey.png",O="kingKong",H="cellClick",I="No alarm",u=" ",t="16/sort_red_desc.png",w="On",v="sortIcon",q="16/sort_red_asc.png",p="Debug Window",s="blue",r="Zorros",o="%1 devices: Click: Sort by alias name / Shift-Click: Sort by login name",n="cellContextmenu",V="Someone",W="Configure your remote device (Shift-Click: Administrator mode)",X="Configure your remote device",Y="daniel",R="48/statusLine/HelicopterMedical.png",S="avatarSortBy",T="right",U="16/sort_yellow_asc.png",ba="main",bb="Try Table",E="Tracking Icon",D="Device IO State",C="click",B="The buddy avatar, configure permissions",A="Bering",z="isAvatarVisible",y="You have <b>no</b> permission to see online status",x="ruleColIsTelephone",G="My device avatar, configure attributes and add buddies",F="You have <b>no</b> permission to see alarms",bc="32/statusLine/ioControl/0000.png",bd="Please reload the battery [%1 %2V]",be="#AAAAAA",bf="Change track appearance and load old tracks",bh="green",bi="color12x48.png",bj="bottom",bk="Click to stop auto-tracking on the map or Shift-Click to avoid centering",bl="yellow",bm="Click to configure the buddy account settings and change permissions granted to %1",bA="table-statusbar",bz="48/statusLine/QuadBikeBlue.png",by="#224477",bx="Please check %1 alarms",bE="apee",bD="Add Row",bC="cellDblclick",bB="beeeri",bG="Power available [%1 %2%]",bF="icon/16/apps/internet-feed-reader.png",bK="Off",bL="grey",bI="FF0000",bJ="Click to stop auto-tracking on the map or Shift-Click to center",bH="48/statusLine/CabrioletRed.png";
qx.Class.define(cw,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(cB){qx.core.Object.call(this);
this.trackGui=cB;
this.qooxdooCanLookupCellWidget=true;
this.devicesTableController=new track.devicestable.DevicesTableController(this);
this.container=null;
},members:{create:function(){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.container=this.createVirtualTableContainer();
return this.container;
},initDeviceTableLayoutConstants:function(){this.avatarSortBy=xbProperties.getStr(S,this.AVATAR_SORT_BY_ALIASNAME);
this.ruleColIsTelephone=xbProperties.getBoolean(x,false);
this.isAvatarVisible=xbProperties.getBoolean(z,false);
this.isIoVisible=xbProperties.getBoolean(K,false);
var cC=0;
this.COLUMN_AVATAR=this.isAvatarVisible?cC++:-1;
this.COLUMN_COLOR=cC++;
this.COLUMN_UPPER_LABEL=cC;
var cD=cC;
this.COLUMN_ONLINE_STATUS=cC++;
this.COLUMN_HISTORY_TRACKS=cC++;
this.COLUMN_DEVICE_CONFIG=cC++;
this.COLUMN_BATTERY=cC++;
this.COLUMN_ALARM=cC++;

if(this.isIoVisible)this.COLUMN_IO=cC++;

if(this.ruleColIsTelephone)this.COLUMN_RULES=cC++;
this.COLUMN_DEVICE_AUTOTRACKING=cC++;
this.COLUMN_SHOWING_ON_MAP=cC++;
this.COLUMNCOUNT=cC;
this.TABLEROWS_PER_BLOCK=2;
this.TOP_PADDING=4;
this.BOTTOM_PADDING=8;
this.COLOR_WIDTH=30;
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.width=this.COLOR_WIDTH+(this.COLUMNCOUNT-cD)*this.BOTTOM_ICON_WIDTH;

if(this.isAvatarVisible)this.width+=this.AVATAR_WIDTH;
this.height=22;
this.currentSortingColumn=this.COLUMN_AVATAR;
this.currentSortingAscending=true;
this.devicesArray=[];
},getWidth:function(){return this.width;
},initialize:function(cE){this.initDeviceTableLayoutConstants();
this.trackGui.controlFrameWidth=this.getWidth()+18;
this.trackGui.controlFrame.setMaxWidth(this.trackGui.controlFrameWidth);
this.trackGui.controlFrame.setMinWidth(this.trackGui.controlFrameWidth);
this.trackGui.paneToggle.setMarginLeft(this.trackGui.controlFrameWidth);
this.scroller=this.createVirtualTable(this.container);
this.__vg(true,true);
this.devicesTableController.initialize(cE);
},clear:function(){this.devicesTableController.clear();
this.container.removeAll();
},addBuddy:function(cF){this.addDevice(cF.getDevice(),true);
},removeBuddy:function(cG){if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().clearBuddyConfigWindow(cG);
var cH=true;
var cI=cG;
this.removeDeviceByDeviceId(cI,cH);
},removeAllBuddies:function(cJ){if(this.trackGui.watchee==null)return;
this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.removeAllDevices();

if(!cJ){if(!this.trackGui.watchee.getAccountTO().isPublic()){var cK=this.trackGui.watchee.getAccountTO().getBuddyTO();
this.addBuddy(cK);
}}},__vd:function(cL){return Math.floor(cL/this.TABLEROWS_PER_BLOCK);
},__ve:function(){var cM=this.trackGui.watchee;
this.devicesArray=[new net.watchee.Device(cM,cn,bq,xbGetIcon(bP),true,bh,0),new net.watchee.Device(cM,A,bB,xbGetIcon(N),true,bL,1),new net.watchee.Device(cM,V,bU,xbGetIcon(bH),false,bu,1),new net.watchee.Device(cM,r,M,xbGetIcon(R),true,cy,0),new net.watchee.Device(cM,bR,ck,xbGetIcon(bz),true,by,0),new net.watchee.Device(cM,O,bE,xbGetIcon(cA),true,be,0)];
},__vf:function(cN){var cO=this.trackGui.watchee;

if(cN===undefined)cN=this.devicesArray.length;
var cQ=cN*this.TABLEROWS_PER_BLOCK;
cN=cf+cN;
var cP=6;

for(var i=0;i<cP;i++)if(cN.length<cP)cN=bs+cN;
var cQ=cf+cQ;

for(var i=0;i<cP;i++)if(cQ.length<cP)cQ=bs+cQ;
return new net.watchee.Device(cO,bN+cN+bn+cQ,bq,xbGetIcon(cx),true,cl,0);
},removeAllDevices:function(){this.devicesArray=[];
this.__vg();
},addDevice:function(cR,cS){if(cR===undefined||cR==null)return;

if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().showAccount(cR.getLoginName()))return;

if(cS===undefined)cS=true;
var cT=cR.getDeviceId();
this.removeDeviceByDeviceId(cT,false);
this.devicesArray.push(cR);

if(cR.isTrackingInitiallyOn()){var cU=cR.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(cU){this.devicesTableController.startTracking(cR);
}}
if(cS){this.__vg(true);
}},removeDeviceByDeviceId:function(cV,cW){if(cV===undefined||cV==null)return null;

if(cW===undefined)cW=true;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(cV==this.devicesArray[i].getDeviceId()){var cX=this.devicesArray[i];
this.devicesArray.splice(i,1);

if(cW){this.__vg(true);
}return cX;
}}return null;
},lookupDeviceByDeviceId:function(cY,da){if(cY===undefined||cY==null)return null;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(cY==this.devicesArray[i].getDeviceId()){return this.devicesArray[i];
}}return null;
},findAvatarAtom:function(db){if(this.isAvatarVisible){var dc=this.lookupCellWidget(this.__vi(db),this.COLUMN_AVATAR);
return dc;
}return null;
},findOnlineStatusAtom:function(dd){var de=this.lookupCellWidget(this.__vj(dd),this.COLUMN_ONLINE_STATUS);
return de;
},__vg:function(df,dg){if(df===undefined)df=true;

if(dg===undefined)dg=true;
var di=this.scroller.getPane().getRowConfig().getItemCount();
var dh=this.devicesArray.length*this.TABLEROWS_PER_BLOCK;

if(di!=dh)this.scroller.getPane().getRowConfig().setItemCount(dh);

if(dg)this.sortTable(this.currentSortingColumn,false);
this.__vl();
this.__vm();

if(df){this.scroller.getPane().fullUpdate();
}},__vh:function(dj){if(dj===undefined||dj==null)return null;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(dj==this.devicesArray[i].getDeviceId())return this.devicesArray[i];
}return null;
},__vi:function(dk){if(dk===undefined||dk==null)return -1;

for(var i=0,l=this.devicesArray.length;i<l;i++){if(dk==this.devicesArray[i].getDeviceId())return i*this.TABLEROWS_PER_BLOCK;
}return -1;
},__vj:function(dl){var dm=this.__vi(dl);

if(dm==-1)return -1;
return dm+1;
},createVirtualTableContainer:function(){var dp=new qx.ui.layout.Grid(5,0);
dp.setRowFlex(1,1);
dp.setColumnFlex(0,1);
dp.setColumnFlex(1,1);
var dn=new qx.ui.container.Composite(dp);
dn.setDecorator(ba);
return dn;
},sortTable:function(dq,dr){var dt=this;
this.currentSortingColumn=dq;
var dv=dq;
var ds=false;
this.devicesArray.sort(function(dw,dx){var dy=null;
var dz=null;

if(dt.avatarSortBy==dt.AVATAR_SORT_BY_LOGINNAME){dy=dw.deviceId;
dz=dx.deviceId;
}else{dy=dw.getAlias();
dz=dx.getAlias();
}
if(dv==dt.COLUMN_ONLINE_STATUS){dy=cf+dw.getOnlineStatusOrderBy();
dz=cf+dx.getOnlineStatusOrderBy();
}else if(dv==dt.COLUMN_BATTERY){dy=cf+dw.getBatteryLevelForSortingStr();
dz=cf+dx.getBatteryLevelForSortingStr();
}else if(dv==dt.COLUMN_ALARM){dy=cf+dw.hasAlarms();
dz=cf+dx.hasAlarms();
}else if(dv==dt.COLUMN_HISTORY_TRACKS){dy=cf+dw.hasHistoryTracks();
dz=cf+dx.hasHistoryTracks();
}else if(dv==dt.COLUMN_DEVICE_CONFIG){}else if(dv==dt.COLUMN_RULES){dy=cf+dw.hasRules();
dz=cf+dx.hasRules();
}else if(dv==dt.COLUMN_DEVICE_AUTOTRACKING){dy=cf+dw.isAutoTracking();
dz=cf+dx.isAutoTracking();
}else if(dv==dt.COLUMN_SHOWING_ON_MAP){dy=cf+dw.isShowingOnMap();
dz=cf+dx.isShowingOnMap();
}
if(ds==false){dy=dy.toLowerCase();
dz=dz.toLowerCase();
}var dA;

if(dt.currentSortingAscending)dA=(dy>dz)?1:((dy==dz)?0:-1);
else dA=(dy<dz)?1:((dy==dz)?0:-1);

if(dA==0&&dq!=dt.COLUMN_AVATAR){if(dt.avatarSortBy==dt.AVATAR_SORT_BY_LOGINNAME){dy=dw.getDeviceId().toLowerCase();
dz=dx.getDeviceId().toLowerCase();
dA=(dy>dz)?1:((dy==dz)?0:-1);
}else{dy=dw.getAlias().toLowerCase();
dz=dx.getAlias().toLowerCase();
dA=(dy>dz)?1:((dy==dz)?0:-1);
}}return dA;
});

if(dr){var du=false;
this.__vg(dr,du);
}},__vk:function(dB){var dD=this.COLOR_WIDTH;

if(this.isAvatarVisible)dD+=this.AVATAR_WIDTH;
var dG=new qx.ui.container.Composite(new qx.ui.layout.HBox());
this.headerAtomArr=[];
this.headerAtomArr[this.COLUMN_COLOR]=this.__vo(dG,this.COLUMN_COLOR,dD,cf);
this.__vl();

for(var dE=this.COLUMN_ONLINE_STATUS;dE<this.COLUMNCOUNT;dE++){var dF=cf;
this.headerAtomArr[dE]=this.__vo(dG,dE,this.BOTTOM_ICON_WIDTH,dF);
}var dC=xbProperties.getStr(v,bl);

if(dC==s){this.iconUp=xbGetQxIcon(J);
this.iconDown=xbGetQxIcon(bV);
this.iconInactive=xbGetIcon(co);
}else if(dC==bu){this.iconUp=xbGetIcon(q);
this.iconDown=xbGetIcon(t);
this.iconInactive=xbGetIcon(h);
}else{this.iconUp=xbGetIcon(U);
this.iconDown=xbGetIcon(cr);
this.iconInactive=xbGetIcon(m);
}this.__vm();
dB.add(dG,{row:0,column:0});
return dG;
},__vl:function(){var dI=this.devicesArray.length;
var dH=new qx.ui.tooltip.ToolTip(this.trn(bM,o,dI,this.devicesArray.length));
this.headerAtomArr[this.COLUMN_COLOR].setToolTip(dH);
this.headerAtomArr[this.COLUMN_COLOR].setLabel(cf+this.devicesArray.length);
},__vm:function(){for(var dJ=this.COLUMN_ONLINE_STATUS;dJ<this.COLUMNCOUNT;dJ++){if(!this.__vn(dJ)){continue;
}var dK=this.iconInactive;

if(dJ==this.currentSortingColumn){dK=this.currentSortingAscending?this.iconUp:this.iconDown;
}this.headerAtomArr[dJ].setIcon(dK);
}},__vn:function(dL){return (dL!=this.COLUMN_HISTORY_TRACKS&&dL!=this.COLUMN_DEVICE_CONFIG&&dL!=this.COLUMN_SHOWING_ON_MAP);
},__vo:function(dM,dN,dO,dP){var dS=new qx.ui.basic.Atom().set({font:f,decorator:bW,padding:0,width:dO,height:22,iconPosition:bj,center:true,allowGrowX:true});

if(dP!=cf)dS.setLabel(dP);

if(this.__vn(dN)){var dT=dS.addListener(C,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 "+dN+" asc="+this.currentSortingAscending);
this.sortTable(dN,true);
},this);
var dQ=this.trc(cg,br);
var dR=new qx.ui.tooltip.ToolTip(dQ,xbGetIcon(bo));
dR.setRich(true);
dR.setShowTimeout(50);
dS.setToolTip(dR);
}dM.add(dS);
return dS;
},createVirtualTable:function(dU){this.__vk(dU);
this.getWidgetCellSpanScroller();
this.scroller.set({scrollbarX:bw,scrollbarY:bw});
dU.add(this.scroller,{row:1,column:0});
return this.scroller;
},getCellProperties:function(dV,dW){return this.__cellRenderer.getCellProperties(dV+bO+dW);
},getWidgetCellSpanScroller:function(){var dX=this.devicesArray.length*this.TABLEROWS_PER_BLOCK;
this.scroller=new qx.ui.virtual.core.Scroller(dX,this.COLUMNCOUNT,this.BOTTOM_ICON_HEIGHT,this.BOTTOM_ICON_WIDTH);
var eb=this.scroller.getPane();
eb.addListener(H,this._onCellClick,this);
eb.addListener(n,this._onContextMenu,this);
eb.addListener(bC,this._onDblclickPane,this);
var dY=eb.getRowConfig();
var ea=eb.getColumnConfig();
ea.setItemSize(this.COLUMN_COLOR,this.COLOR_WIDTH);
if(this.isAvatarVisible){ea.setItemSize(this.COLUMN_AVATAR,this.AVATAR_WIDTH);
}this.widgetCellSpan=new qx.ui.virtual.layer.WidgetCellSpan(this,dY,ea);
this.scroller.getPane().addLayer(this.widgetCellSpan);
this._pool=[];
return this.scroller;
},__vp:function(ec){var ed=((ec%this.TABLEROWS_PER_BLOCK)==0);

if(ed){this.scroller.getPane().getRowConfig().setItemSize(ec,this.HEADER_HEIGHT);
if(this.isAvatarVisible){this.widgetCellSpan.setCellSpan(ec,this.COLUMN_AVATAR,this.TABLEROWS_PER_BLOCK,1);
}this.widgetCellSpan.setCellSpan(ec,this.COLUMN_UPPER_LABEL,1,this.COLUMNCOUNT-this.COLUMN_UPPER_LABEL);
}},__vq:function(ee,ef){var eh=this.__vd(ee);

if(eh>=this.devicesArray.length){this.error("TableView.__lookupDevice TODO: Reload device row="+ee+" from database: We return the first as dummy");
this.devicesArray.push(this.__vf(ee));
}var eg=this.devicesArray[eh];
return eg;
},__vr:function(ei,ej,ek){var ek=(ek===undefined)?true:ek;
var el=(ek?w:bK);
var en=((ei%this.TABLEROWS_PER_BLOCK)==0);
var em=this.__vq(ei,ej);

if(ej==this.COLUMN_COLOR){if(en)return null;
var eo=em.getTrackSegmentMarker();
return eo;
}else if(ej==this.COLUMN_AVATAR&&en){if(this.isAvatarVisible)return em.getAvatarIconUrl();
}else if(ej==this.COLUMN_AVATAR&&!en){return null;
}else if(ej>=this.COLUMN_UPPER_LABEL&&en){return null;
}else if(ej==this.COLUMN_ONLINE_STATUS){return em.getOnlineStatusIcon();
}else if(ej==this.COLUMN_BATTERY){return em.getBatteryIcon();
}else if(ej==this.COLUMN_ALARM){return em.getAlarmIcon();
}else if(ej==this.COLUMN_HISTORY_TRACKS){return em.getHistoryTracksIcon();
}else if(ej==this.COLUMN_DEVICE_CONFIG){return em.getDeviceConfigIcon();
}else if(ej==this.COLUMN_RULES){if(this.ruleColIsTelephone){return xbGetIcon(ct);
}else{return em.getRulesIcon();
}}else if(ej==this.COLUMN_IO){return xbGetIcon(bc);
}else if(ej==this.COLUMN_DEVICE_AUTOTRACKING){return em.getAutoTrackingIcon();
}else if(ej==this.COLUMN_SHOWING_ON_MAP){return em.getShowingOnMapIcon();
}this.error("Unexpected Icon wanted row="+ei+" column="+ej);
return xbGetIcon(bi);
},__vs:function(ep,eq,er){var et=((ep%this.TABLEROWS_PER_BLOCK)==0);

if(eq==this.COLUMN_UPPER_LABEL&&et){var es=this.__vq(ep,eq);
return es.getNiceName();
}return null;
},__vt:function(eu,ev,ew){var ey=((eu%this.TABLEROWS_PER_BLOCK)==0);

if(ev==this.COLUMN_COLOR&&ey){var ex=this.__vq(eu,ev);
return ex.getTrackSegmentColor();
}return null;
},__vu:function(ez,eA,eB){if(eB==null)return;
var eC=this.__vq(ez,eA);
var eD=((ez%this.TABLEROWS_PER_BLOCK)==0);

if(eA==this.COLUMN_COLOR){if(eD)eB.setLabel(this.trc(cg,cq));
else eB.setLabel(this.trc(cg,E));
}else if(eA==this.COLUMN_AVATAR){if(eC.isCurrentLoginAccount())eB.setLabel(this.trc(cg,G));
else eB.setLabel(this.trc(cg,B));
}else if(eA>=this.COLUMN_UPPER_LABEL&&eD){if(eC.isCurrentLoginAccount())eB.setLabel(this.trc(cg,bT));
else eB.setLabel(this.trc(cg,bm,eC.getLoginName()));
}else if(eA==this.COLUMN_ONLINE_STATUS){var eE=eC.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS);

if(eE){if(eC.getDeviceInfo().isDeviceSleepMode()&&eC.isDeviceSleepingOrOffline())eB.setLabel(this.trc(cg,c,eC.getDeviceId()));
else if(!eC.isGpsSignalOk())eB.setLabel(this.trc(cg,cj,eC.getDeviceId()));
else if(eC.isOnline())eB.setLabel(this.trc(cg,g,eC.getDeviceId()));
else eB.setLabel(this.trc(cg,a,eC.getDeviceId()));
}else{eB.setLabel(this.trc(cg,y));
}}else if(eA==this.COLUMN_BATTERY){if(eC.hasVolt()){if(eC.isCharged())eB.setLabel(this.trc(cg,bS,eC.getVoltTimeStr(),eC.getVolt()));
else if(eC.isBatteryUnknown())eB.setLabel(this.trc(cg,bp));
else if(eC.isBatteryEmpty())eB.setLabel(this.trc(cg,bd,eC.getVoltTimeStr(),eC.getVolt()));
else eB.setLabel(this.trc(cg,cu,eC.getVoltTimeStr(),eC.getVolt()));
}else{if(eC.isCharged())eB.setLabel(this.trc(cg,cz,eC.getVoltTimeStr(),eC.getBatteryPercent()));
else if(eC.isBatteryUnknown())eB.setLabel(this.trc(cg,bp));
else if(eC.isBatteryEmpty())eB.setLabel(this.trc(cg,d,eC.getVoltTimeStr(),eC.getBatteryPercent()));
else eB.setLabel(this.trc(cg,bG,eC.getVoltTimeStr(),eC.getBatteryPercent()));
}}else if(eA==this.COLUMN_ALARM){var eE=eC.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_ALARM)||eC.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_CFG);

if(eE){if(eC.hasAlarmsAttachedToRules())eB.setLabel(this.trn(ci,bx,eC.getCountAlarmsAttachedToRules(),eC.getCountAlarmsAttachedToRules()));
else eB.setLabel(this.trc(cg,I));
}else{eB.setLabel(this.trc(cg,F));
}}else if(eA==this.COLUMN_HISTORY_TRACKS){eB.setLabel(this.trc(cg,bf));
}else if(eA==this.COLUMN_IO){eB.setLabel(this.trc(cg,D));
}else if(eA==this.COLUMN_DEVICE_CONFIG){if(this.trackGui.allowTestDevice)eB.setLabel(this.trc(cg,W));
else eB.setLabel(this.trc(cg,X));
}else if(eA==this.COLUMN_RULES){if(this.ruleColIsTelephone){eB.setLabel(this.trc(cg,bQ,eC.getDeviceId(),eC.getHwPhoneNumber(),this.trackGui.getMyLoginName()));
}else{eB.setLabel(this.trc(cg,cp));
}}else if(eA==this.COLUMN_DEVICE_AUTOTRACKING){var eE=eC.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(eE){if(eC.isAutoTracking()){if(eC.isAutoTrackingCentered()){eB.setLabel(this.trc(cg,bk));
}else{eB.setLabel(this.trc(cg,bJ));
}}else{eB.setLabel(this.trc(cg,cs));
}}else{eB.setLabel(this.trc(ch,b));
}}else if(eA==this.COLUMN_SHOWING_ON_MAP){eB.setLabel(this.trc(cg,j));
}else{eB.setLabel(cf);
}},lookupCellWidget:function(eF,eG){if(this.qooxdooCanLookupCellWidget){var eI=this.widgetCellSpan.getRenderedCellWidget(eF,eG);

if(eI!=null){return eI;
}return null;
}else{var eJ=((eF%this.TABLEROWS_PER_BLOCK)==0);
var eH=this.__vq(eF,eG);

if(eH==null){this.info("lookupCellWidget(row="+eF+",column="+eG+") device is null");
return null;
}var eI=eH.tableAtomsCache[eJ?0:1][eG];

if(eI==null){this.info("lookupCellWidget(row="+eF+",column="+eG+") widget is null, device OK");
return null;
}return eI;
}},updateDeviceStateAutoRefresh:function(eK,eL){var eL=org.xmlBlaster.util.toNumber(eL,this.COLUMN_AVATAR);
var eM=(this.currentSortingColumn==eL);
if(this.currentSortingColumn==this.COLUMN_AVATAR){eM=false;
}this.updateDeviceState(eK,eM,eL);
},updateDeviceState:function(eN,eO,eP){var eP=(eP===undefined)?-1:eP;
var eU=this.__vi(eN);

if(eU==-1)return;

if(eP==-1){for(var eT=0;eT<this.COLUMNCOUNT;eT++){if(eT==this.COLUMN_AVATAR)continue;
var eR=this.lookupCellWidget(eU,eT);

if(eR!=null)this.updateCellWidgetState(eR,eU,eT);
}}else{var eR=this.lookupCellWidget(eU,eP);

if(eR!=null&&eP<=this.COLUMN_UPPER_LABEL)this.updateCellWidgetState(eR,eU,eP);
}eU=this.__vj(eN);

if(eU==-1)return;

if(eP==-1){for(var eT=0;eT<this.COLUMNCOUNT;eT++){if(eT==this.COLUMN_AVATAR)continue;
var eR=this.lookupCellWidget(eU,eT);

if(eR!=null)this.updateCellWidgetState(eR,eU,eT);
}}else if(eP!=this.COLUMN_AVATAR){var eR=this.lookupCellWidget(eU,eP);

if(eR!=null)this.updateCellWidgetState(eR,eU,eP);
}
if(eO===undefined)eO=true;

if(eO){var eS=true;
var eQ=true;
this.__vg(eS,eQ);
}},updateCellWidgetState:function(eV,eW,eX){if(eV==null)return;

if(!this.qooxdooCanLookupCellWidget){eW=org.xmlBlaster.util.toNumber(eW,eV.getUserData(ce));
eX=org.xmlBlaster.util.toNumber(eX,eV.getUserData(cd));
}var fc=this.__vt(eW,eX,true);

if(fc!=null){eV.setBackgroundColor(fc);
}var fa=this.__vr(eW,eX,true);

if(fa!=null){if(fa.indexOf(Q)>-1){var fe=this.__vq(eW,eX);
var eY=fe.getTrackSegmentColor();
var eY=(eY!=null)?eY:bI;

if(eY.indexOf(cv)==0)eY=eY.substring(1);
var fd=eY;
if(fa.indexOf(bY)==-1){eV.setIcon(bv+fd+cb+eY+cb+fe.getLoginName()+bt);
}else{eV.setIcon(bv+fd+cb+eY+cb+bY+bt);
}}else{eV.setIcon(fa);
}}else eV.resetIcon();
var fb=this.__vs(eW,eX,true);

if(fb!=null)eV.setLabel(u+fb);
else eV.resetLabel();
eV.setIconPosition(T);
this.__vu(eW,eX,eV.getToolTip());
},getCellWidget:function(ff,fh){var fj=this._pool.pop()||this.createNewCellWidget(ff,fh);
var fk=((ff%this.TABLEROWS_PER_BLOCK)==0);

if(fh==this.COLUMN_AVATAR){fj.setIconPosition(cm);
}fj.setPaddingTop(fk?this.TOP_PADDING:0);
fj.setPaddingBottom(fk?0:this.BOTTOM_PADDING);

if(fk){fj.setDecorator(bA);
}else{if(fh>this.COLUMN_AVATAR)fj.setDecorator(bW);
}if(!this.qooxdooCanLookupCellWidget){fj.setUserData(ce,ff);
fj.setUserData(cd,fh);
var fi=this.__vq(ff,fh);
fj.setUserData(ca,fi);
fi.tableAtomsCache[fk?0:1][fh]=fj;
}this.__vp(ff);
this.updateCellWidgetState(fj,ff,fh);
return fj;
},createNewCellWidget:function(fl,fm){var fn=new qx.ui.basic.Atom(null).set({allowGrowX:true});
var fo=new qx.ui.tooltip.ToolTip(this.trc(cg,br),xbGetIcon(bo));
fo.setRich(true);
fo.setShowTimeout(50);
fn.setToolTip(fo);
fn.setBackgroundColor(bX);
fn.setDecorator(null);
return fn;
},poolCellWidget:function(fp){if(!this.qooxdooCanLookupCellWidget){var ft=fp.getUserData(ce);
var fq=fp.getUserData(cd);
var fs=((ft%this.TABLEROWS_PER_BLOCK)==0);
var fr=fp.getUserData(ca);
fr.tableAtomsCache[fs?0:1][fq]=null;
fp.setUserData(ca,null);
fp.setUserData(ce,null);
fp.setUserData(cd,null);
}fp.setBackgroundColor(bX);
fp.setDecorator(null);
this._pool.push(fp);
},setCellWidgetIcon:function(fu,fv,fw){var fx=((fu%this.TABLEROWS_PER_BLOCK)==0);
var fy=this.lookupCellWidget(fu,fv);

if(fy==null)return null;
fy.setIcon(fw);
return fy;
},_onCellClick:function(e){var fE=e.getRow();
var fA=e.getColumn();
var fB=((fE%this.TABLEROWS_PER_BLOCK)==0);
this.info("row="+e.getRow()+" column="+e.getColumn()+" 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 fC=this.__vq(fE,fA);
var fz=this.lookupCellWidget(fE,fA);
if(fA==this.COLUMN_COLOR){this.trackGui.getWindowManager().popupTrackConfigWindow(fC.getBuddyTO());
}else if(fB&&fA>this.COLUMN_COLOR||fA==this.COLUMN_AVATAR){this.trackGui.getWindowManager().popupBuddyConfigWindow(fC.getBuddyTO());
}else if(fA==this.COLUMN_ONLINE_STATUS){this.error("colcount: "+this.COLUMNCOUNT.toString());
this.error("devicestablewidth: "+this.width.toString());
}else if(fA==this.COLUMN_BATTERY){}else if(fA==this.COLUMN_ALARM){this.trackGui.getWindowManager().popupAlarmWindow(fC.getBuddyTO());
}else if(fA==this.COLUMN_HISTORY_TRACKS){this.trackGui.getWindowManager().popupTrackConfigWindow(fC.getBuddyTO());
}else if(fA==this.COLUMN_DEVICE_CONFIG){if(e.isShiftPressed()){if(this.trackGui.allowTestDevice==true){this.trackGui.getWindowManager().popupTestDeviceWindow(fC.getDeviceId());
}}else{this.trackGui.getWindowManager().popupDeviceConfigWindow(fC.getBuddyTO());
}}else if(fA==this.COLUMN_RULES){if(this.ruleColIsTelephone){this.trackGui.makePhoneCallToDevice(fC);
}else{this.trackGui.getWindowManager().popupRulesWindow(fC);
}}else if(fA==this.COLUMN_DEVICE_AUTOTRACKING){if(fC.isAutoTracking()&&e.isShiftPressed()){fC.setAutoTrackingCentered(!fC.isAutoTrackingCentered());
this.updateDeviceStateAutoRefresh(fC.getDeviceId(),this.COLUMN_DEVICE_AUTOTRACKING);
}else if(fC.isAutoTracking()){this.devicesTableController.stopTracking(fC);
}else if(!fC.isAutoTracking()){if(e.isRightPressed()){fC.setAutoTrackingCentered(false);
}else{fC.setAutoTrackingCentered(true);
}this.devicesTableController.startTracking(fC);
}}else if(fA==this.COLUMN_SHOWING_ON_MAP){var fD=e.isRightPressed()?false:true;
this.devicesTableController.toggleShowingOnMap(fC,fD);
}},_onContextMenu:function(e){var fJ=e.getRow();
var fF=e.getColumn();
var fH=((fJ%this.TABLEROWS_PER_BLOCK)==0);
this.info("row="+e.getRow()+" column="+e.getColumn()+"<-_onContextMenu isChrome="+org.xmlBlaster.util.isChrome);

if(org.xmlBlaster.util.isChrome){var fG=this.__vq(fJ,fF);

if(fF==this.COLUMN_DEVICE_AUTOTRACKING){if(!fG.isAutoTracking()){fG.setAutoTrackingCentered(false);
this.devicesTableController.startTracking(fG);
}}else if(fF==this.COLUMN_SHOWING_ON_MAP){var fI=false;
this.devicesTableController.toggleShowingOnMap(fG,fI);
}}},_onDblclickPane:function(e){var fO=e.getRow();
var fK=e.getColumn();
var fM=((fO%this.TABLEROWS_PER_BLOCK)==0);
this.info("event.name="+e.name+"row="+e.getRow()+" column="+e.getColumn()+"<-_onDblclickPane");
var fL=this.__vq(fO,fK);
var fN=this.lookupCellWidget(fO,fK);
if(fK==this.COLUMN_AVATAR){}else if(fK==this.COLUMN_ONLINE_STATUS){}else if(fK==this.COLUMN_BATTERY){}else if(fK==this.COLUMN_ALARM){}else if(fK==this.COLUMN_HISTORY_TRACKS){}else if(fK==this.COLUMN_DEVICE_CONFIG){if(this.trackGui.allowTestDevice==true){this.trackGui.getWindowManager().popupTestDeviceWindow(fL.getDeviceId());
}}},createDebugWindow:function(){var fQ=new qx.ui.window.Window(p,bF);
fQ.setLayout(new qx.ui.layout.VBox(10));
fQ.setStatus(bb);
fQ.open();
this.trackGui.getMyRoot().add(fQ,{left:420,top:160});
var fS=new qx.ui.form.Button(bD);
fS.addListener(cc,function(e){this.addDevice(this.__vf(),true);
},this);
fQ.add(fS);
{var fT=new qx.ui.form.Button(k);
fT.addListener(cc,function(e){if(this.devicesArray.length>0)this.removeDeviceByDeviceId(this.devicesArray[0].getDeviceId());
},this);
fQ.add(fT);
};
{var fR=new qx.ui.form.Button(L);
fR.addListener(cc,function(e){this.removeAllDevices();
},this);
fQ.add(fR);
};
var fP=new qx.ui.form.Button(P);
fP.addListener(cc,function(e){var fX=Y;
var fU=this.__vh(fX);

if(fU!=null){fU.toggleOnline();
var fW=false;
var fV=this.lookupCellWidget(this.__vj(fX),this.COLUMN_ONLINE_STATUS);

if(fV!=null){fV.setIcon(fU.getOnlineStatusIcon());
this.__vg();
}}},this);
fQ.add(fP);
}}});
})();
(function(){var p="updateBuddy",o="countAlarms",n="info box",m="remotePropertiesChanged",l="removeBuddy",j="alarmChanged",i="changeAccount",h="setFriendOf",g="updateFriendOf",f="removeFriendOf",c="trackDisplayInfoChanged",e="trackInfoChanged",d="track.devicestable.DevicesTableController",b="You have no permission to see location of %1",a="Location of %1 is not known<br />Try start tracking first";
qx.Class.define(d,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(q){qx.core.Object.call(this);
this.devicesTable=q;
this.trackGui=this.devicesTable.trackGui;
},members:{initialize:function(r){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(s){var t=s.getData().buddyTO;
this.info("Got online status event "+t.isOnline()+" for "+t.getLoginName());
this.devicesTable.updateDeviceStateAutoRefresh(t.getDevice().getDeviceId(),this.devicesTable.COLUMN_AVATAR);
this.devicesTable.updateDeviceStateAutoRefresh(t.getDevice().getDeviceId(),this.devicesTable.COLUMN_ONLINE_STATUS);
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(g,function(u){this.updateBuddyOrFriendOfArrived(u.getData().buddyTO);
},this);
this.setFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(h,function(v){var w=v.getData();
var y=w.getBuddyList();

for(var k=0,z=y.length;k<z;k++){var x=y[k];
this.updateBuddyOrFriendOfArrived(x);
}},this);
this.changeAccountListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(i,function(A){this.changeAccountOrFriendOfArrived(A.getData().buddyTO);
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(p,function(B){this.updateBuddyOrFriendOfArrived(B.getData().buddyTO);
var C=this.trackGui.getWindowManager().popupBuddyConfigWindow(B.getData().buddyTO);
C.checkTabPermissions();
},this);
this.removeFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(f,function(D){var E=D.getData();
this.devicesTable.removeBuddy(E.getLoginName());
},this);
this.removeBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(l,function(F){var G=F.getData();
this.devicesTable.removeBuddy(G.getLoginName());
},this);
this.remotePropertiesChangedListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(m,function(H){var I=H.getData().device;
var J=H.getData().propertyCollection;
this.devicesTable.updateDeviceStateAutoRefresh(I.getDeviceId(),this.devicesTable.COLUMN_BATTERY);
},this);
this.alarmChangedListenerFunc=this.trackGui.watchee.getEventManager().addListener(j,function(K){var L=K.getData().device;
var M=K.getData().alarmTO;
this.devicesTable.updateDeviceStateAutoRefresh(L.getDeviceId(),this.devicesTable.COLUMN_ALARM);
if(M.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPSSIGNAL_LOST)||M.isRuleTypeEnum(net.watchee.RuleTypeEnum.GPSSIGNAL_OK)){this.devicesTable.updateDeviceStateAutoRefresh(L.getDeviceId(),this.devicesTable.COLUMN_ONLINE_STATUS);
}},this);
this.countAlarmsListenerFunc=this.trackGui.watchee.getEventManager().addListener(o,function(N){var P=N.getData().loginName;
var O=N.getData().countAlarms;
this.devicesTable.updateDeviceStateAutoRefresh(P,this.devicesTable.COLUMN_ALARM);
},this);
this.trackInfoChangedListenerFunc=this.trackGui.watchee.getEventManager().addListener(c,function(Q){var R=Q.getData().device;
this.devicesTable.updateDeviceStateAutoRefresh(R.getDeviceId(),this.devicesTable.COLUMN_COLOR);
},this);
}},toggleShowingOnMap:function(S,T){if(this.trackGui.watchee==null)return;
S.setShowingOnMap(true);
if(S.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.showLastKnownPosition(S,T);
}this.devicesTable.updateDeviceStateAutoRefresh(S.getDeviceId(),this.devicesTable.COLUMN_SHOWING_ON_MAP);
},showLastKnownPosition:function(U,V){if(U.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){if(this.trackGui.watchee!=null){var W=U.getCurrentTrack();
var Y=W.getLastValidGpsData();

if(Y!=null&&U.isAutoTracking()){this.trackGui.watchee.getMapManager().showAndCenterLocation(W,Y,V);
return;
}else{var ba=this.trackGui.getSyncGps(U.getLoginName());
var bb=ba.length>0?ba[0]:null;

if(bb!=null&&!bb.isException()){var X=bb.getContentStr();
log.info("getSyncGps -> "+X);
var Y=new net.watchee.GPSData(X,this);
this.trackGui.watchee.getMapManager().showAndCenterLocation(W,Y,V);
return;
}log.error("getSyncGps -> no topic entry found: TODO TK5000 getLocation query");
}}this.trackGui.infoMsgBox(this.trc(n,a,U.getNiceName()),4000);
}else{this.trackGui.infoMsgBox(this.trc(n,b,U.getNiceName()),4000);
}},startTracking:function(bc){if(bc.isAutoTracking())return;

if(!bc.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
bc.setAutoTracking(true);
this.trackGui.subscribeGps(bc.getBuddyTO());
this.devicesTable.updateDeviceStateAutoRefresh(bc.getDeviceId(),this.devicesTable.COLUMN_DEVICE_AUTOTRACKING);
},stopTracking:function(bd){if(!bd.isAutoTracking())return;
bd.setAutoTracking(false);
this.trackGui.unSubscribeGps(bd.getBuddyTO());
this.devicesTable.updateDeviceStateAutoRefresh(bd.getDeviceId(),this.devicesTable.COLUMN_DEVICE_AUTOTRACKING);
},changeAccountOrFriendOfArrived:function(be){this.updateBuddyOrFriendOfArrived(be);
},updateBuddyOrFriendOfArrived:function(bf){var bg=this.devicesTable.lookupDeviceByDeviceId(bf.getLoginName());

if(bg==null){this.devicesTable.addBuddy(bf);
}else{var bh=bg.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(!bh&&bg.isAutoTracking()){this.trackGui.unSubscribeGps(bf);
}this.devicesTable.updateDeviceState(bg.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(g,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
}
if(this.setFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(h,this.setFriendOfListenerFunc);
this.setFriendOfListenerFunc=null;
}
if(this.changeAccountListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(i,this.changeAccountListenerFunc);
this.changeAccountListenerFunc=null;
}
if(this.updateBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(p,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;
}
if(this.removeFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(f,this.removeFriendOfListenerFunc);
this.removeFriendOfListenerFunc=null;
}
if(this.removeBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(l,this.removeFriendOfListenerFunc);
this.removeBuddyListenerFunc=null;
}
if(this.remotePropertiesChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(m,this.remotePropertiesChangedListenerFunc);
this.remotePropertiesChangedListenerFunc=null;
}
if(this.alarmChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(j,this.alarmChangedListenerFunc);
this.alarmChangedListenerFunc=null;
}
if(this.countAlarmsListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(o,this.countAlarmsListenerFunc);
this.countAlarmsListenerFunc=null;
}
if(this.trackInfoChangedListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getEventManager().removeListener(e,this.trackInfoChangedListenerFunc);
this.trackInfoChangedListenerFunc=null;
}this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.trackGui.getWindowManager().clearAllDeviceConfigWindow();
}},destruct:function(){this.clear();
}});
})();
(function(){var g="scrollY",f="update",d="scrollX",c="pane",b="qx.ui.virtual.core.Scroller",a="__vv";
qx.Class.define(b,{extend:qx.ui.core.scroll.AbstractScrollArea,construct:function(h,i,j,k){qx.ui.core.scroll.AbstractScrollArea.call(this);
this.__vv=new qx.ui.virtual.core.Pane(h,i,j,k);
this.__vv.addListener(f,this._computeScrollbars,this);
this.__vv.addListener(d,this._onScrollPaneX,this);
this.__vv.addListener(g,this._onScrollPaneY,this);
this._add(this.__vv,{row:0,column:0});
},properties:{width:{refine:true,init:null},height:{refine:true,init:null}},members:{__vv:null,getPane:function(){return this.__vv;
},_createChildControlImpl:function(l,m){if(l==c){return this.__vv;
}else{return qx.ui.core.scroll.AbstractScrollArea.prototype._createChildControlImpl.call(this,l);
}},getItemTop:function(n){throw new Error("The method 'getItemTop' is not implemented!");
},getItemBottom:function(o){throw new Error("The method 'getItemBottom' is not implemented!");
},getItemLeft:function(p){throw new Error("The method 'getItemLeft' is not implemented!");
},getItemRight:function(q){throw new Error("The method 'getItemRight' is not implemented!");
},_onScrollBarX:function(e){this.__vv.setScrollX(e.getData());
},_onScrollBarY:function(e){this.__vv.setScrollY(e.getData());
}},destruct:function(){this._disposeObjects(a);
}});
})();
(function(){var l="appear",k="qx.ui.virtual.core.CellEvent",j="qx.event.type.Data",h="change",g="update",f="scrollY",d="full update",c="__vE",b="dblclick",a="update layer window",A="qx.event.type.Event",z="cellContextmenu",y="__vw",x="resize",w="scrollX",v="__vF",u="cellDblclick",t="qx.ui.virtual.core.Pane",s="click",r="prefetch x",p="contextmenu",q="cellClick",n="prefetch y",o="__vx",m="scroll";
qx.Class.define(t,{extend:qx.ui.core.Widget,construct:function(B,C,D,E){qx.ui.core.Widget.call(this);
this.__vw=new qx.ui.virtual.core.Axis(D,B);
this.__vx=new qx.ui.virtual.core.Axis(E,C);
this.__vy=0;
this.__vz=0;
this.__vA=0;
this.__vB=0;
this.__vC={};
this.__vD={};
this.__vE=new qx.ui.container.Composite();
this.__vE.setUserBounds(0,0,0,0);
this._add(this.__vE);
this.__vF=[];
this.__vw.addListener(h,this.fullUpdate,this);
this.__vx.addListener(h,this.fullUpdate,this);
this.addListener(x,this._onResize,this);
this.addListenerOnce(l,this._onAppear,this);
this.addListener(s,this._onClick,this);
this.addListener(b,this._onDblclick,this);
this.addListener(p,this._onContextmenu,this);
},events:{cellClick:k,cellContextmenu:k,cellDblclick:k,update:A,scrollX:j,scrollY:j},properties:{width:{refine:true,init:400},height:{refine:true,init:300}},members:{__vw:null,__vx:null,__vy:null,__vz:null,__vA:null,__vB:null,__vC:null,__vD:null,__vE:null,__vF:null,__vG:null,__vH:null,__vI:null,DEBUG:false,getRowConfig:function(){return this.__vw;
},getColumnConfig:function(){return this.__vx;
},getChildren:function(){return [this.__vE];
},addLayer:function(F){{};
this.__vF.push(F);
F.setUserBounds(0,0,0,0);
this.__vE.add(F);
},getLayers:function(){return this.__vF;
},getVisibleLayers:function(){var G=[];

for(var i=0;i<this.__vF.length;i++){var H=this.__vF[i];

if(H.isVisible()){G.push(H);
}}return G;
},getScrollMaxX:function(){var I=this.getBounds();

if(I){return Math.max(0,this.__vx.getTotalSize()-I.width);
}return 0;
},getScrollMaxY:function(){var J=this.getBounds();

if(J){return Math.max(0,this.__vw.getTotalSize()-J.height);
}return 0;
},setScrollY:function(K){var L=this.getScrollMaxY();

if(K<0){K=0;
}else if(K>L){K=L;
}
if(this.__vy!==K){var M=this.__vy;
this.__vy=K;
this._deferredUpdateScrollPosition();
this.fireDataEvent(f,K,M);
}},getScrollY:function(){return this.__vy;
},setScrollX:function(N){var O=this.getScrollMaxX();

if(N<0){N=0;
}else if(N>O){N=O;
}
if(N!==this.__vz){var P=this.__vz;
this.__vz=N;
this._deferredUpdateScrollPosition();
this.fireDataEvent(w,N,P);
}},getScrollX:function(){return this.__vz;
},getScrollSize:function(){return {width:this.__vx.getTotalSize(),height:this.__vw.getTotalSize()};
},scrollRowIntoView:function(Q){var T=this.getBounds();

if(!T){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollRowIntoView(Q);
},this,0);
},this);
return;
}var U=this.__vw.getItemPosition(Q);
var S=U+this.__vw.getItemSize(Q);
var R=this.getScrollY();

if(U<R){this.setScrollY(U);
}else if(S>R+T.height){this.setScrollY(S-T.height);
}},scrollColumnIntoView:function(V){var Y=this.getBounds();

if(!Y){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollColumnIntoView(V);
},this,0);
},this);
return;
}var X=this.__vx.getItemPosition(V);
var W=X+this.__vx.getItemSize(V);
var ba=this.getScrollX();

if(X<ba){this.setScrollX(X);
}else if(W>ba+Y.width){this.setScrollX(W-Y.width);
}},scrollCellIntoView:function(bb,bc){var bd=this.getBounds();

if(!bd){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollCellIntoView(bb,bc);
},this,0);
},this);
return;
}this.scrollColumnIntoView(bb);
this.scrollRowIntoView(bc);
},getCellAtPosition:function(be,bf){var bg,bh;
var bi=this.getContentLocation();

if(!bi||bf<bi.top||bf>=bi.bottom||be<bi.left||be>=bi.right){return null;
}bg=this.__vw.getItemAtPosition(this.getScrollY()+bf-bi.top);
bh=this.__vx.getItemAtPosition(this.getScrollX()+be-bi.left);

if(!bg||!bh){return null;
}return {row:bg.index,column:bh.index};
},prefetchX:function(bj,bk,bl,bm){var bn=this.getVisibleLayers();

if(bn.length==0){return;
}var bp=this.getBounds();

if(!bp){return;
}var bq=this.__vz+bp.width;
var br=this.__vB-bq;

if(this.__vz-this.__vC.left<Math.min(this.__vz,bj)||this.__vC.right-bq<Math.min(br,bl)){this.DEBUG&&console.log(r);
var bs=Math.min(this.__vz,bk);
var bo=Math.min(br,bm);
this._setLayerWindow(bn,this.__vz-bs,this.__vy,bp.width+bs+bo,bp.height,false);
}},prefetchY:function(bt,bu,bv,bw){var bx=this.getVisibleLayers();

if(bx.length==0){return;
}var bA=this.getBounds();

if(!bA){return;
}var by=this.__vy+bA.height;
var bz=this.__vA-by;

if(this.__vy-this.__vC.top<Math.min(this.__vy,bt)||this.__vC.bottom-by<Math.min(bz,bv)){this.DEBUG&&console.log(n);
var bC=Math.min(this.__vy,bu);
var bB=Math.min(bz,bw);
this._setLayerWindow(bx,this.__vz,this.__vy-bC,bA.width,bA.height+bC+bB,false);
}},_onResize:function(){if(this.getContainerElement().getDomElement()){this.__vG=true;
this._updateScrollPosition();
this.__vG=null;
this.fireEvent(g);
}},_onAppear:function(){this.fullUpdate();
},_onClick:function(e){this.__vJ(e,q);
},_onContextmenu:function(e){this.__vJ(e,z);
},_onDblclick:function(e){this.__vJ(e,u);
},__vJ:function(e,bD){var bE=this.getCellAtPosition(e.getDocumentLeft(),e.getDocumentTop());

if(!bE){return;
}this.fireNonBubblingEvent(bD,qx.ui.virtual.core.CellEvent,[this,e,bE.row,bE.column]);
},syncWidget:function(){if(this.__vD._fullUpdate){this._fullUpdate();
}else if(this.__vD._updateScrollPosition){this._updateScrollPosition();
}this.__vD={};
},_setLayerWindow:function(bF,bG,top,bH,bI,bJ){var bO=this.__vw.getItemAtPosition(top);

if(bO){var bQ=bO.index;
var bV=this.__vw.getItemSizes(bQ,bI+bO.offset);
var bP=qx.lang.Array.sum(bV);
var bX=top-bO.offset;
var bU=top-bO.offset+bP;
}else{var bQ=0;
var bV=[];
var bP=0;
var bX=0;
var bU=0;
}var bS=this.__vx.getItemAtPosition(bG);

if(bS){var bM=bS.index;
var bL=this.__vx.getItemSizes(bM,bH+bS.offset);
var bR=qx.lang.Array.sum(bL);
var bW=bG-bS.offset;
var bN=bG-bS.offset+bR;
}else{var bM=0;
var bL=[];
var bR=0;
var bW=0;
var bN=0;
}this.__vC={top:bX,bottom:bU,left:bW,right:bN};
this.__vE.setUserBounds(this.__vC.left-this.__vz,this.__vC.top-this.__vy,bR,bP);
this.__vH=bL;
this.__vI=bV;
this.DEBUG&&qx.ui.core.queue.Manager.flush();

for(var i=0;i<this.__vF.length;i++){var bT=new Date();
var bK=this.__vF[i];
bK.setUserBounds(0,0,bR,bP);

if(bJ){bK.fullUpdate(bQ,bM,bV,bL);
}else{bK.updateLayerWindow(bQ,bM,bV,bL);
}if(this.DEBUG){this.debug("layer update ("+bK.classname+"): "+(new Date()-bT)+"ms");
var bT=new Date();
qx.ui.core.queue.Manager.flush();
this.debug("layer flush ("+bK.classname+"): "+(new Date()-bT)+"ms");
}}},__vK:function(){if(this.__vG){return;
}var bY=this.getScrollSize();

if(this.__vA!==bY.height||this.__vB!==bY.width){this.__vA=bY.height;
this.__vB=bY.width;
this.fireEvent(g);
}},fullUpdate:function(){this.__vD._fullUpdate=1;
qx.ui.core.queue.Widget.add(this);
},isUpdatePending:function(){return !!this.__vD._fullUpdate;
},_fullUpdate:function(){var ca=this.getVisibleLayers();

if(ca.length==0){this.__vK();
return;
}
if(!this.getContainerElement().getDomElement()){return ;
}var cb=this.getBounds();
this.DEBUG&&console.log(d);
this._setLayerWindow(ca,this.__vz,this.__vy,cb.width,cb.height,true);
this.__vK();
},_deferredUpdateScrollPosition:function(){this.__vD._updateScrollPosition=1;
qx.ui.core.queue.Widget.add(this);
},_updateScrollPosition:function(){var cc=this.getVisibleLayers();

if(cc.length==0){this.__vK();
return;
}var ce=this.getBounds();

if(!ce){return ;
}var cd={top:this.__vy,bottom:this.__vy+ce.height,left:this.__vz,right:this.__vz+ce.width};

if(this.__vC.top<=cd.top&&this.__vC.bottom>=cd.bottom&&this.__vC.left<=cd.left&&this.__vC.right>=cd.right){this.DEBUG&&console.log(m);
this.__vE.setUserBounds(this.__vC.left-cd.left,this.__vC.top-cd.top,this.__vC.right-this.__vC.left,this.__vC.bottom-this.__vC.top);
}else{this.DEBUG&&console.log(a);
this._setLayerWindow(cc,this.__vz,this.__vy,ce.width,ce.height,false);
}this.__vK();
}},destruct:function(){this._disposeArray(v);
this._disposeObjects(y,o,c);
this.__vC=this.__vD=this.__vH=this.__vI=null;
}});
})();
(function(){var e="change",d="qx.event.type.Event",c="qx.ui.virtual.core.Axis";
qx.Class.define(c,{extend:qx.core.Object,construct:function(f,g){qx.core.Object.call(this);
this.itemCount=g;
this.defaultItemSize=f;
this.customSizes={};
},events:{"change":d},members:{__vL:null,getDefaultItemSize:function(){return this.defaultItemSize;
},setDefaultItemSize:function(h){if(this.defaultItemSize!==h){this.defaultItemSize=h;
this.__vL=null;
this.fireNonBubblingEvent(e);
}},getItemCount:function(){return this.itemCount;
},setItemCount:function(j){if(this.itemCount!==j){this.itemCount=j;
this.__vL=null;
this.fireNonBubblingEvent(e);
}},setItemSize:function(k,l){{};

if(this.customSizes[k]==l){return;
}
if(l===null){delete this.customSizes[k];
}else{this.customSizes[k]=l;
}this.__vL=null;
this.fireNonBubblingEvent(e);
},getItemSize:function(m){return this.customSizes[m]||this.defaultItemSize;
},resetItemSizes:function(){this.customSizes={};
this.__vL=null;
this.fireNonBubblingEvent(e);
},__vM:function(){if(this.__vL){return this.__vL;
}var p=this.defaultItemSize;
var w=this.itemCount;
var r=[];

for(var t in this.customSizes){var n=parseInt(t,10);

if(n<w){r.push(n);
}}
if(r.length==0){var s=[{startIndex:0,endIndex:w-1,firstItemSize:p,rangeStart:0,rangeEnd:w*p-1}];
this.__vL=s;
return s;
}r.sort(function(a,b){return a>b?1:-1;
});
var s=[];
var o=0;

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

if(n>=w){break;
}var v=this.customSizes[n];
var q=n*p+o;
o+=v-p;
s[i]={startIndex:n,firstItemSize:v,rangeStart:q};

if(i>0){s[i-1].rangeEnd=q-1;
s[i-1].endIndex=n-1;
}}if(s[0].rangeStart>0){s.unshift({startIndex:0,endIndex:s[0].startIndex-1,firstItemSize:p,rangeStart:0,rangeEnd:s[0].rangeStart-1});
}var x=s[s.length-1];
var u=(w-x.startIndex-1)*p;
x.rangeEnd=x.rangeStart+x.firstItemSize+u-1;
x.endIndex=w-1;
this.__vL=s;
return s;
},__vN:function(y){var z=this.__vL||this.__vM();
var A=0;
var C=z.length-1;
while(true){var D=A+((C-A)>>1);
var B=z[D];

if(B.rangeEnd<y){A=D+1;
}else if(B.rangeStart>y){C=D-1;
}else{return B;
}}},getItemAtPosition:function(E){if(E<0||E>=this.getTotalSize()){return null;
}var G=this.__vN(E);
var I=G.rangeStart;
var F=G.startIndex;
var J=G.firstItemSize;

if(I+J>E){return {index:F,offset:E-I};
}else{var H=this.defaultItemSize;
return {index:F+1+Math.floor((E-I-J)/H),offset:(E-I-J)%H};
}},__vO:function(K){var L=this.__vL||this.__vM();
var M=0;
var O=L.length-1;
while(true){var P=M+((O-M)>>1);
var N=L[P];

if(N.endIndex<K){M=P+1;
}else if(N.startIndex>K){O=P-1;
}else{return N;
}}},getItemPosition:function(Q){if(Q<0||Q>=this.itemCount){return null;
}var R=this.__vO(Q);

if(R.startIndex==Q){return R.rangeStart;
}else{return R.rangeStart+R.firstItemSize+(Q-R.startIndex-1)*this.defaultItemSize;
}},getTotalSize:function(){var S=this.__vL||this.__vM();
return S[S.length-1].rangeEnd+1;
},getItemSizes:function(T,U){var V=this.customSizes;
var Y=this.defaultItemSize;
var X=0;
var W=[];
var i=0;

while(X<U){var ba=V[T++]||Y;
X+=ba;
W[i++]=ba;

if(T>=this.itemCount){break;
}}return W;
}},destruct:function(){this.customSizes=this.__vL=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 a="qx.ui.virtual.core.ILayer";
qx.Interface.define(a,{members:{fullUpdate:function(b,c,d,e){this.assertArgumentsCount(arguments,6,6);
this.assertPositiveInteger(b);
this.assertPositiveInteger(c);
this.assertArray(d);
this.assertArray(e);
},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 b="qx.ui.virtual.layer.Abstract",a="abstract";
qx.Class.define(b,{extend:qx.ui.core.Widget,type:a,implement:[qx.ui.virtual.core.ILayer],construct:function(){qx.ui.core.Widget.call(this);
this.__vP={};
},properties:{anonymous:{refine:true,init:true}},members:{__vP:null,__vQ:null,__vR:null,__vS:null,__vT:null,__vU:null,getFirstRow:function(){return this.__vR;
},getFirstColumn:function(){return this.__vS;
},getRowSizes:function(){return this.__vT||[];
},getColumnSizes:function(){return this.__vU||[];
},syncWidget:function(){if(!this.getContentElement().getDomElement()){return;
}
if(this.__vP.fullUpdate||this.__vP.updateLayerWindow&&this.__vP.updateLayerData){this._fullUpdate.apply(this,this.__vQ);
}else if(this.__vP.updateLayerWindow){this._updateLayerWindow.apply(this,this.__vQ);
}else if(this.__vP.updateLayerData&&this.__vT){this._updateLayerData();
}
if(this.__vP.fullUpdate||this.__vP.updateLayerWindow){var c=this.__vQ;
this.__vR=c[0];
this.__vS=c[1];
this.__vT=c[2];
this.__vU=c[3];
}this.__vP={};
},_updateLayerData:function(){this._fullUpdate(this.__vR,this.__vS,this.__vT,this.__vU);
},_fullUpdate:function(d,e,f,g){throw new Error("Abstract method '_fullUpdate' called!");
},_updateLayerWindow:function(h,i,j,k){this._fullUpdate(h,i,j,k);
},updateLayerData:function(){this.__vP.updateLayerData=true;
qx.ui.core.queue.Widget.add(this);
},fullUpdate:function(l,m,n,o){this.__vQ=arguments;
this.__vP.fullUpdate=true;
qx.ui.core.queue.Widget.add(this);
},updateLayerWindow:function(p,q,r,s){this.__vQ=arguments;
this.__vP.updateLayerWindow=true;
qx.ui.core.queue.Widget.add(this);
}},destruct:function(){this.__vP=this.__vQ=this.__vT=this.__vU=null;
}});
})();
(function(){var j="cell.spanning",h="cell.rowspan",g="cell.column",f="cell.colspan",e="cell.row",d="x",c="qx.ui.virtual.layer.WidgetCellSpan",b="_spanManager",a="_cellLayer";
qx.Class.define(c,{extend:qx.ui.virtual.layer.Abstract,include:[qx.ui.core.MChildrenHandling],construct:function(k,m,n){qx.ui.virtual.layer.Abstract.call(this);
this.setZIndex(2);
this._spanManager=new qx.ui.virtual.layer.CellSpanManager(m,n);
this._cellProvider=k;
this.__vV=[];
this._cellLayer=new qx.ui.virtual.layer.WidgetCell(this.__vW());
this._cellLayer.setZIndex(0);
this._setLayout(new qx.ui.layout.Grow());
this._add(this._cellLayer);
},properties:{anonymous:{refine:true,init:false}},members:{getRenderedCellWidget:function(o,p){var q=this._cellLayer.getRenderedCellWidget(o,p);

if(!q||q.getUserData(j)){var t=this._getChildren();

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

if(s==this._cellLayer){continue;
}var r={row:s.getUserData(e),column:s.getUserData(g),rowSpan:s.getUserData(h),colSpan:s.getUserData(f)};

if(r.row<=o&&o<r.row+r.rowSpan&&r.column<=p&&p<r.column+r.colSpan){return s;
}}return null;
}return q;
},__vV:null,setCellSpan:function(u,v,w,x){var y=u+d+v;
this._spanManager.removeCell(y);

if(w>1||x>1){this._spanManager.addCell(y,u,v,w,x);
}qx.ui.core.queue.Widget.add(this);
},__vW:function(){var self=this;
var B=this._cellProvider;
var A=this.__vV;
var z={getCellWidget:function(C,D){if(!self._spanMap[C][D]){var E=B.getCellWidget(C,D);
}else{var E=A.pop();

if(!E){E=new qx.ui.core.Spacer();
E.setUserData(j,1);
}}return E;
},poolCellWidget:function(F){if(F.getUserData(j)){A.push(F);
}else{B.poolCellWidget(F);
}}};
return z;
},__vX:function(G,H,I,J){this._cells=this._spanManager.findCellsInWindow(G,H,I,J);

if(this._cells.length>0){this._bounds=this._spanManager.getCellBounds(this._cells,G,H);
this._spanMap=this._spanManager.computeCellSpanMap(this._cells,G,H,I,J);
}else{this._bounds=[];
this._spanMap=[];

for(var i=0;i<I;i++){this._spanMap[G+i]=[];
}}},__vY:function(){var O=this.getChildren();

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

if(N!==this._cellLayer){this._cellProvider.poolCellWidget(N);
this._remove(N);
}}
for(var i=0,l=this._cells.length;i<l;i++){var M=this._cells[i];
var K=this._bounds[i];
var L=this._cellProvider.getCellWidget(M.firstRow,M.firstColumn);

if(L){L.setUserBounds(K.left,K.top,K.width,K.height);
L.setUserData(e,M.firstRow);
L.setUserData(g,M.firstColumn);
L.setUserData(h,M.lastRow-M.firstRow+1);
L.setUserData(f,M.lastColumn-M.firstColumn+1);
this._add(L);
}}},_fullUpdate:function(P,Q,R,S){this.__vX(P,Q,R.length,S.length);
this.__vY();
this._cellLayer.fullUpdate(P,Q,R,S);
},_updateLayerWindow:function(T,U,V,W){this.__vX(T,U,V.length,W.length);
this.__vY();
this._cellLayer.updateLayerWindow(T,U,V,W);
}},destruct:function(){var X=this._getChildren();

for(var i=0;i<X.length;i++){X[i].dispose();
}this._disposeObjects(b,a);
this._cellProvider=this.__vV=this._cells=this._bounds=this._spanMap=null;
}});
})();
(function(){var j="change",h="lastColumn",g="firstColumn",f="firstRow",d="qx.ui.virtual.layer.CellSpanManager",c="lastRow";
qx.Class.define(d,{extend:qx.core.Object,construct:function(k,m){qx.core.Object.call(this);
{};
this._cells={};
this._invalidateSortCache();
this._invalidatePositionCache();
k.addListener(j,this._onRowConfigChange,this);
m.addListener(j,this._onColumnConfigChange,this);
this._rowConfig=k;
this._columnConfig=m;
},members:{addCell:function(n,o,p,q,r){this._cells[n]={firstRow:o,lastRow:o+q-1,firstColumn:p,lastColumn:p+r-1,id:n};
this._invalidateSortCache();
},removeCell:function(s){delete (this._cells[s]);
this._invalidateSortCache();
},_invalidateSortCache:function(){this._sorted={};
},_getSortedCells:function(t){if(this._sorted[t]){return this._sorted[t];
}var u=this._sorted[t]=qx.lang.Object.getValues(this._cells);
u.sort(function(a,b){return a[t]<b[t]?-1:1;
});
return u;
},_findCellsInRange:function(v,w,x){var z=this._getSortedCells(v);

if(z.length==0){return {};
}var B=0;
var y=z.length-1;
while(true){var D=B+((y-B)>>1);
var A=z[D];

if(A[v]>=w&&(D==0||z[D-1][v]<w)){break;
}
if(A[v]>=w){y=D-1;
}else{B=D+1;
}
if(B>y){return {};
}}var C={};
var A=z[D];

while(A&&A[v]>=w&&A[v]<=x){C[A.id]=A;
A=z[D++];
}return C;
},findCellsInWindow:function(E,F,G,H){var L={};

if(G>0){var J=E+G-1;
qx.lang.Object.merge(L,this._findCellsInRange(f,E,J),this._findCellsInRange(c,E,J));
}var I={};

if(H>0){var K=F+H-1;
qx.lang.Object.merge(I,this._findCellsInRange(g,F,K),this._findCellsInRange(h,F,K));
}return this.__wa(I,L);
},__wa:function(M,N){var O=[];

for(var P in M){if(N[P]){O.push(N[P]);
}}return O;
},_onRowConfigChange:function(e){this._rowPos=[];
},_onColumnConfigChange:function(e){this._columnPos=[];
},_invalidatePositionCache:function(){this._rowPos=[];
this._columnPos=[];
},_getRowPosition:function(Q){var R=this._rowPos[Q];

if(R!==undefined){return R;
}R=this._rowPos[Q]=this._rowConfig.getItemPosition(Q);
return R;
},_getColumnPosition:function(S){var T=this._columnPos[S];

if(T!==undefined){return T;
}T=this._columnPos[S]=this._columnConfig.getItemPosition(S);
return T;
},_getSingleCellBounds:function(U,V,W){var X={left:0,top:0,width:0,height:0};
X.height=this._getRowPosition(U.lastRow)+this._rowConfig.getItemSize(U.lastRow)-this._getRowPosition(U.firstRow);
X.top=this._getRowPosition(U.firstRow)-this._getRowPosition(V);
X.width=this._getColumnPosition(U.lastColumn)+this._columnConfig.getItemSize(U.lastColumn)-this._getColumnPosition(U.firstColumn);
X.left=this._getColumnPosition(U.firstColumn)-this._getColumnPosition(W);
return X;
},getCellBounds:function(Y,ba,bb){var bc=[];

for(var i=0,l=Y.length;i<l;i++){bc.push(this._getSingleCellBounds(Y[i],ba,bb));
}return bc;
},computeCellSpanMap:function(bd,be,bf,bg,bh){var bi=[];

if(bg<=0){return bi;
}var br=be+bg-1;

for(var i=be;i<=br;i++){bi[i]=[];
}
if(bh<=0){return bi;
}var bk=bf+bh-1;

for(var i=0,l=bd.length;i<l;i++){var bn=bd[i];
var bl=Math.max(be,bn.firstRow);
var bm=Math.min(br,bn.lastRow);
var bs;

for(var bo=bl;bo<=bm;bo++){bs=bi[bo];
var bj=Math.max(bf,bn.firstColumn);
var bq=Math.min(bk,bn.lastColumn);

for(var bp=bj;bp<=bq;bp++){bs[bp]=1;
}}}return bi;
}},destruct:function(){this._rowConfig.removeListener(j,this._onRowConfigChange,this);
this._columnConfig.removeListener(j,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(e){qx.ui.virtual.layer.Abstract.call(this);
this.setZIndex(2);
{};
this._cellProvider=e;
this.__wb=[];
},properties:{anonymous:{refine:true,init:false}},members:{__wb:null,getRenderedCellWidget:function(f,g){var h=this.getColumnSizes().length;
var n=this.getRowSizes().length;
var m=this.getFirstRow();
var l=this.getFirstColumn();

if(f<m||f>=m+n||g<l||g>=l+h){return null;
}var k=(g-l)+(f-m)*h;
var j=this._getChildren()[k];

if(j.getUserData(d)){return null;
}else{return j;
}},_getSpacer:function(){var o=this.__wb.pop();

if(!o){o=new qx.ui.core.Spacer();
o.setUserData(d,1);
}return o;
},_activateNotEmptyChild:function(p){var q=qx.ui.core.FocusHandler.getInstance().getActiveWidget();
if(q==p||qx.ui.core.Widget.contains(p,q)){var r=this._getChildren();

for(var i=r.length-1;i>=0;i--){if(!r[i].getUserData(d)){r[i].activate();
break;
}}}},_fullUpdate:function(s,t,u,v){var z=this._cellProvider;
var D=this._getChildren();

for(var i=0;i<D.length;i++){var B=D[i];

if(B.getUserData(d)){this.__wb.push(B);
}else{this._activateNotEmptyChild(B);
z.poolCellWidget(B);
}}this._removeAll();
var top=0;
var E=0;

for(var y=0;y<u.length;y++){for(var x=0;x<v.length;x++){var C=s+y;
var A=t+x;
var w=z.getCellWidget(C,A)||this._getSpacer();
w.setUserBounds(E,top,v[x],u[y]);
w.setUserData(c,C);
w.setUserData(b,A);
this._add(w);
E+=v[x];
}top+=u[y];
E=0;
}},_updateLayerWindow:function(F,G,H,I){{};
var U=F+H.length-1;
var L=G+I.length-1;
var Q={firstRow:Math.max(F,this.getFirstRow()),lastRow:Math.min(U,this._lastRow),firstColumn:Math.max(G,this.getFirstColumn()),lastColumn:Math.min(L,this._lastColumn)};
this._lastColumn=L;
this._lastRow=U;

if(Q.firstRow>Q.lastRow||Q.firstColumn>Q.lastColumn){return this._fullUpdate(F,G,H,I);
}var V=this._getChildren();
var J=this.getColumnSizes().length;
var S=[];
var P={};

for(var W=F;W<=U;W++){S[W]=[];

for(var O=G;O<=L;O++){if(W>=Q.firstRow&&W<=Q.lastRow&&O>=Q.firstColumn&&O<=Q.lastColumn){var x=O-this.getFirstColumn();
var y=W-this.getFirstRow();
var K=y*J+x;
S[W][O]=V[K];
P[K]=true;
}}}var R=this._cellProvider;
var V=this._getChildren();

for(var i=0;i<V.length;i++){if(!P[i]){var T=V[i];

if(T.getUserData(d)){this.__wb.push(T);
}else{this._activateNotEmptyChild(T);
R.poolCellWidget(T);
}}}this._removeAll();
var top=0;
var M=0;

for(var y=0;y<H.length;y++){for(var x=0;x<I.length;x++){var W=F+y;
var O=G+x;
var N=S[W][O]||R.getCellWidget(W,O)||this._getSpacer();
N.setUserBounds(M,top,I[x],H[y]);
N.setUserData(c,W);
N.setUserData(b,O);
this._add(N);
M+=I[x];
}top+=H[y];
M=0;
}}},destruct:function(){var X=this._getChildren();

for(var i=0;i<X.length;i++){X[i].dispose();
}this._cellProvider=this.__wb=null;
}});
})();
(function(){var m="caption",k="16/actions/help-about.png",j="buddyTO",h="isPressed",g="execute",f="button",d="Track now",c="updateBuddy",b="updateFriendOf",a="removeFriendOf",N="22/actions/dialog-ok.png",M="info box",L="100%",K="removeBuddy",J="avatarAtom",I="trackButton",H="<b>%1</b>: Access history tracks and configure track-colors and icons",G="22/buddies_add.png",F="track.BuddiesWidget",E=" - click me to see current location",t="22/categories/graphics.png",u="ToolTip",r="You have no permission to see location of %1",s="16/actions/edit-find.png",p="Your buddy <b>%1</b> is offline",q="16/pda_blue.png",n="You have <b>no</b> permission to see online status",o="Location of %1 is not known<br />Try start tracking first",v="22/actions/dialog-cancel.png",w="Start/Stop tracking <b>%1</b> on the map",z="deviceConfButton",y="click",B="You have <b>no</b> permission to track <b>%1</b> on the map",A="Configure device of <b>%1</b>, change tracking rate and more",D="Your buddy <b>%1</b> is online %2",C="Configure <b>%1</b> relation and permissions",x="Stop Tracking";
qx.Class.define(F,{extend:qx.ui.container.Composite,construct:function(O){qx.ui.container.Composite.call(this);
this.trackGui=O;
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:L,height:L});
this.log.info("mainSplitpane added");
},members:{updateBuddyOrFriendOfArrived:function(P){var Q=this.findBuddyWidget(P.getLoginName());

if(Q==null){this.addBuddy(P);
}else{var S=this.findAvatarAtom(P.getLoginName());
this.updateAvatarAtom(P,S);
var R=this.findTrackButton(P.getLoginName());
this.updateTrackButton(P,R);
}},initialize:function(T){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;
var W=this.findAvatarAtom(V.getLoginName());
this.updateAvatarAtom(V,W);
},this);
this.updateFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(b,function(X){this.updateBuddyOrFriendOfArrived(X.getData().buddyTO);
},this);
this.updateBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(c,function(Y){this.updateBuddyOrFriendOfArrived(Y.getData().buddyTO);
var ba=this.trackGui.getWindowManager().popupBuddyConfigWindow(Y.getData().buddyTO);
ba.checkTabPermissions();
},this);
this.removeFriendOfListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(a,function(bb){var bc=bb.getData();
this.removeBuddy(bc.getLoginName());
},this);
this.removeBuddyListenerFunc=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(K,function(be){var bf=be.getData();
this.removeBuddy(bf.getLoginName());
},this);
}},updateAvatarAtom:function(bg,bh){if(bh==null){this.log.info("BuddiesWidget.updateAvatarAtom(): avatarAtom is null for '"+bg.getLoginName()+"'");
return;
}bh.setIcon(bg.getAvatarIconUrl());
var bk=bg.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_DEVICE_STATUS);
var bj=null;

if(bk){var bi=this.trc(u,E);

if(bg.isOnline()){bj=new qx.ui.tooltip.ToolTip(this.trc(m,D,bg.getAliasAndLoginName(),bi),xbGetQxIcon(k));
}else{bj=new qx.ui.tooltip.ToolTip(this.trc(m,p,bg.getAliasAndLoginName()),xbGetQxIcon(k));
}}else{bj=new qx.ui.tooltip.ToolTip(this.trc(m,n),xbGetQxIcon(k));
}bj.setRich(true);
bj.setShowTimeout(50);
bh.setToolTip(bj);
},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(b,this.updateFriendOfListenerFunc);
this.updateFriendOfListenerFunc=null;
}
if(this.updateBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(c,this.updateBuddyListenerFunc);
this.updateBuddyListenerFunc=null;
}
if(this.removeFriendOfListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(a,this.removeFriendOfListenerFunc);
this.removeFriendOfListenerFunc=null;
}
if(this.removeBuddyListenerFunc!=null){if(this.trackGui.watchee!=null)this.trackGui.watchee.getBuddyManager().getEventManager().removeListener(K,this.removeFriendOfListenerFunc);
this.removeBuddyListenerFunc=null;
}this.trackGui.getWindowManager().clearAllBuddyConfigWindow();
this.trackGui.getWindowManager().clearAllDeviceConfigWindow();
},setBuddies:function(bl){this.removeAllBuddies(false);
var bm=bl.getBuddies();

for(var i=0,l=bm.length;i<l;i++){var bn=bm[i];
this.addBuddy(bn);
}},removeAllBuddies:function(bo){if(this.trackGui.watchee==null)return;
var br=this.buddiesFrame.getChildren();

for(var i=0,l=br.length;i<l;i++){var bp=br[i];
var bs=bp.getUserData(j);
var bq=this.trackGui.getWindowManager().findBuddyConfigWindow(bs.getLoginName());

if(bq!=null){if(bq.destroyPopup&&!(bq.destroyPopup===undefined))bq.destroyPopup();
}}this.buddiesFrame.removeAll();

if(!bo){if(!this.trackGui.watchee.getAccountTO().isPublic()){var bs=this.trackGui.watchee.getAccountTO().getBuddyTO();
this.addBuddy(bs);
}}},removeBuddy:function(bt){if(this.trackGui.watchee==null)return;
var bv=this.findBuddyWidget(bt);

if(bv==null)return;
var bw=bv.getUserData(j);
var bu=this.trackGui.getWindowManager().findBuddyConfigWindow(bw.getLoginName());

if(bu!=null){try{bu.hide();
bu.destroyPopup();
}catch(bx){bu=null;
}}this.buddiesFrame.remove(bv);
},addBuddy:function(by){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().showAccount(by.getDevice().getLoginName()))return;
var bA=this.findBuddyWidget(by.getLoginName());

if(bA!=null){var bz=bA.getUserData(j);
bA.setUserData(j,by);
}else this.buddiesFrame.add(this.__wc(by),{left:0,top:0,right:0});
},findBuddyWidget:function(bB){var bD=this.buddiesFrame.getChildren();

for(var i=0,l=bD.length;i<l;i++){var bC=bD[i];
var bE=bC.getUserData(j);

if(bE.getLoginName()==bB)return bC;
}return null;
},findAvatarAtom:function(bF){var bG=this.findBuddyWidget(bF);

if(bG!=null){return bG.getUserData(J);
}return null;
},__wc:function(bH){var bJ=new qx.ui.groupbox.GroupBox(bH.getAliasAndLoginName());
bJ.setLayout(new qx.ui.layout.Canvas());
bJ.setContentPadding(6);
bJ.setUserData(j,bH);

if(bH.isCurrentLoginAccount()){bJ.setTextColor(watcheeColorSelf);
}var bQ=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
bJ.add(bQ,{left:0,top:0,right:0});
var bN=new qx.ui.basic.Atom(null,bH.getAvatarIconUrl()).set({gap:0,maxHeight:32,maxWidth:32});
bJ.setUserData(J,bN);
bN.addListener(y,function(e){if(bH.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){if(this.trackGui.watchee!=null&&bH.getDevice()!=null){var bR=bH.getDevice().getCurrentTrack();
var bS=bR.getLastValidGpsData();

if(bS!=null){this.trackGui.watchee.getMapManager().showAndCenterLocation(bR,bS);
return;
}}this.trackGui.infoMsgBox(this.trc(M,o,bH.getLoginName()),4000);
}else{this.trackGui.infoMsgBox(this.trc(M,r,bH.getLoginName()),4000);
}},this);
this.updateAvatarAtom(bH,bN);
bQ.add(bN,{left:0,top:0});
var bP=new qx.ui.form.Button(null,xbGetIcon(q));
bJ.setUserData(z,bP);

with(bP){setPadding(0);
setMargin(0);
setMaxWidth(30);
var bM=new qx.ui.tooltip.ToolTip(this.trc(m,A,bH.getAlias()),xbGetQxIcon(s));
bM.setRich(true);
bM.setShowTimeout(50);
setToolTip(bM);
addListener(g,function(e){this.trackGui.getWindowManager().popupDeviceConfigWindow(bH);
},this);
}bQ.add(bP,{left:0,top:0});
var bL=new qx.ui.form.Button(null,xbGetIcon(G));

with(bL){setMaxWidth(85);
var bM=new qx.ui.tooltip.ToolTip(this.trc(m,C,bH.getAlias()),xbGetQxIcon(k));
bM.setRich(true);
bM.setShowTimeout(50);
setToolTip(bM);
addListener(g,function(e){this.trackGui.getWindowManager().popupBuddyConfigWindow(bH);
},this);
}bQ.add(bL,{left:0,top:0});
var bO=new qx.ui.form.Button(null,xbGetQxIcon(t));

with(bO){setMaxWidth(85);
var bM=new qx.ui.tooltip.ToolTip(this.trc(m,H,bH.getAlias()),xbGetQxIcon(k));
bM.setRich(true);
bM.setShowTimeout(50);
setToolTip(bM);
addListener(g,function(e){this.trackGui.getWindowManager().popupTrackConfigWindow(bH);
},this);
}bQ.add(bO,{left:0,top:0});
var bK=new qx.ui.form.Button(this.trc(f,d),xbGetQxIcon(N));
bJ.setUserData(I,bK);

with(bK){setMaxWidth(200);
setUserData(h,false);
this.updateTrackButton(bH,bK);
addListener(g,function(e){if(bH.isTracking)this.stopTracking(bH,bK);
else this.startTracking(bH,bK);
},this);
}bQ.add(bK,{left:0,top:0});

if(bH.getDevice()!=null&&bH.getDevice().isTrackingInitiallyOn()){var bI=bH;
qx.event.Timer.once(function(){this.startTracking(bI);
},this,0);
}return bJ;
},startTracking:function(bT){if(bT.isTracking)return;

if(!bT.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS))return;
bT.isTracking=true;
var bU=this.findTrackButton(bT.getLoginName());
this._trackButtonPress(bU);
this.trackGui.subscribeGps(bT);
this.updateTrackButton(bT,bU);
},stopTracking:function(bV){if(!bV.isTracking)return;
bV.isTracking=false;
var bW=this.findTrackButton(bV.getLoginName());
this._trackButtonRelease(bW);
this.trackGui.unSubscribeGps(bV);
this.updateTrackButton(bV,bW);
},_trackButtonPress:function(bX){with(bX){setLabel(this.trc(f,x));
setIcon(xbGetQxIcon(v));
setUserData(h,true);
}},_trackButtonRelease:function(bY){with(bY){setLabel(this.trc(f,d));
setIcon(xbGetQxIcon(N));
setUserData(h,false);
}},findTrackButton:function(ca){var cb=this.findBuddyWidget(ca);

if(cb!=null){return cb.getUserData(I);
}return null;
},updateTrackButton:function(cc,cd){if(cd==null){this.log.error("buddiesWidget.js updateTrackButton is null");
return;
}
with(cd){var cg=cc.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS);

if(cc.isCurrentLoginAccount())cg=true;
var cf=(cg)?new qx.ui.tooltip.ToolTip(this.trc(m,w,cc.getAlias()),xbGetQxIcon(k)):new qx.ui.tooltip.ToolTip(this.trc(m,B,cc.getAlias()),xbGetQxIcon(k));
cf.setRich(true);
cf.setShowTimeout(50);
setToolTip(cf);
setEnabled(cg);
var ce=cd.getUserData(h);
if(!cg&&ce){this._trackButtonRelease(cd);
this.trackGui.unSubscribeGps(cc);
}}}},destruct:function(){this.clear();
}});
})();
(function(){var g="String",f="qx.ui.embed.AbstractIframe",e="name",d="",c="_applySource",b="qx.event.type.Event",a="_applyFrameName";
qx.Class.define(f,{extend:qx.ui.core.Widget,construct:function(h){qx.ui.core.Widget.call(this);

if(h){this.setSource(h);
}},events:{"load":b},properties:{source:{check:g,apply:c,nullable:true},frameName:{check:g,init:d,apply:a}},members:{_getIframeElement:function(){throw new Error("Abstract method call");
},_applySource:function(i,j){this._getIframeElement().setSource(i);
},_applyFrameName:function(k,l){this._getIframeElement().setAttribute(e,k);
},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 u="auto",t="scrollbar-y",s="iframe",r="corner",q="on",p="scrollbar-x",o="scroll",n="hidden",m="_updateScrollbars",l="load",d="off",k="resize",h="interval",c="horizontal",b="mousewheel",g="qx.ui.embed.ThemedIframe",f="scrollbarX",i="scrollbarY",a="scrollarea",j="vertical";
qx.Class.define(g,{extend:qx.ui.embed.AbstractIframe,construct:function(v){qx.ui.embed.AbstractIframe.call(this,v);
var w=new qx.ui.layout.Grid();
w.setColumnFlex(0,1);
w.setRowFlex(0,1);
this._setLayout(w);
this._showChildControl(s);
},properties:{appearance:{refine:true,init:a},scrollbarX:{check:[u,q,d],init:u,themeable:true,apply:m},scrollbarY:{check:[u,q,d],init:u,themeable:true,apply:m},scrollbar:{group:[f,i]}},members:{__wd:null,__we:null,_getIframeElement:function(){return this.getChildControl(s).getContentElement();
},_createChildControlImpl:function(z,A){var B;

switch(z){case s:B=new qx.ui.embed.Iframe(this.getSource());
B.addListener(l,this._onIframeLoad,this);
B.addListener(k,this._onIframeResize,this);
this._add(B,{row:0,column:0});
break;
case p:B=new qx.ui.core.scroll.ScrollBar(c);
B.setMinWidth(0);
B.exclude();
B.addListener(o,this._onScrollBarX,this);
this._add(B,{row:1,column:0});
break;
case t:B=new qx.ui.core.scroll.ScrollBar(j);
B.setMinHeight(0);
B.exclude();
B.addListener(o,this._onScrollBarY,this);
this._add(B,{row:0,column:1});
break;
case r:B=new qx.ui.core.Widget();
B.setWidth(0);
B.setHeight(0);
B.exclude();
this._add(B,{row:1,column:1});
break;
}return B||qx.ui.embed.AbstractIframe.prototype._createChildControlImpl.call(this,z);
},_onIframeLoad:function(){this._disableScollbars();
var C=this._getIframeElement().getBody();

if(C){this._startIframeObserver();
this._addWheelListener();
}this.fireEvent(l);
},_onIframeResize:function(){this._updateScrollbars();
},_disableScollbars:function(){this._excludeChildControl(p);
this._excludeChildControl(t);
this._excludeChildControl(r);
this._stopIframeObserver();
},_addWheelListener:function(){try{var D=this._getIframeElement().getBody();
qx.bom.Element.addListener(D,b,this._onMouseWheel,this);
}catch(e){this._disableScollbars();
}},_onMouseWheel:function(e){var F=this._isChildControlVisible(t)&&this.getChildControl(t).isEnabled();

if(!F){return;
}var E=this.getChildControl(t,true);
E.scrollBySteps(e.getWheelDelta());
e.stop();
},_startIframeObserver:function(){if(this.__we){this._stopIframeObserver();
}var G=qx.event.Idle.getInstance();
this.__we=G.addListener(h,this._onIframeObserverInterval,this);
},_stopIframeObserver:function(){this.__wd=null;

if(!this.__we){return;
}var H=qx.event.Idle.getInstance();
H.removeListenerById(this.__we);
},_onIframeObserverInterval:function(){var I=this._getIframeSize();

if(!I){this._disableScollbars();
return;
}
if(this.__wd&&I.width==this.__wd.width&&I.height==this.__wd.height){return;
}this.__wd=I;
this._preventIframeScrolling();
this._updateScrollbars();
},_preventIframeScrolling:function(){try{var J=this._getIframeElement().getDocument();
J.documentElement.style.overflow=n;
J.body.style.overflow=n;
}catch(e){this._disableScollbars();
}},_updateScrollbars:function(){var K=this.__wd;
var N=this.getChildControl(s).getBounds();
var L=this.getChildControl(s).getInnerSize();

if(!K||!L||!L){return;
}var M=false;
var Q=false;
var O=this.getScrollbarX();
var P=this.getScrollbarY();

if(O===u&&P===u){var M=K.width>L.width;
var Q=K.height>L.height;
if((M||Q)&&!(M&&Q)){if(M){Q=K.height>N.height;
}else if(Q){M=K.width>N.width;
}}}else{var M=O===q;
var Q=P===q;
if(K.width>(M?N.width:L.width)&&O===u){M=true;
}
if(K.height>(M?N.height:L.height)&&P===u){Q=true;
}}this._configureScrollbar(p,M,L.width,K.width);
this._configureScrollbar(t,Q,L.height,K.height);
this._updateCornerWidget();
},_getIframeSize:function(){try{var R=this._getIframeElement().getWindow();
var S={width:qx.bom.Document.getWidth(R),height:qx.bom.Document.getHeight(R)};
return S;
}catch(e){return null;
}},_updateCornerWidget:function(){if(this._isChildControlVisible(p)&&this._isChildControlVisible(t)){this._showChildControl(r);
}else{this._excludeChildControl(r);
}},_configureScrollbar:function(T,U,V,W){if(!U){this._excludeChildControl(T);
return;
}var X=this._showChildControl(T);

if(V>=W){X.set({position:0,maximum:W,knobFactor:1,enabled:false});
}else{X.setMaximum(1000000);
X.set({position:Math.min(X.getPosition(),W),maximum:W-V,knobFactor:V/W,enabled:true});
}},_onScrollBarX:function(e){this.scrollToX(e.getData());
},_onScrollBarY:function(e){this.scrollToY(e.getData());
},scrollToX:function(x){try{var Y=this._getIframeElement().getWindow();
Y.scroll(x,qx.bom.Viewport.getScrollTop(Y));
}catch(e){this._disableScollbars();
}},scrollToY:function(y){try{var ba=this._getIframeElement().getWindow();
ba.scroll(qx.bom.Viewport.getScrollLeft(ba),y);
}catch(e){this._disableScollbars();
}}},destruct:function(){this._stopIframeObserver();
this.__wd=null;
}});
})();
(function(){var k="qx.client",j="mousedown",i="load",h="help",g="mouseup",f="losecapture",d="contextmenu",c="none",b="display",a="no",G="Boolean",F="px",E="url(",D=")",C="gecko",B="repeat",A="div",z="auto",y="_applyScrollbar",x="DOMNodeInserted",r="_applyNativeHelp",s="yes",p="scrolling",q="/",n="appear",o="mshtml",l="__wg",m="block",t="qx.ui.embed.Iframe",u="iframe",w="qx/static/blank.gif",v="absolute";
qx.Class.define(t,{extend:qx.ui.embed.AbstractIframe,construct:function(H){if(H!=null){this.__wf=H;
}qx.ui.embed.AbstractIframe.call(this,H);
qx.event.Registration.addListener(document.body,j,this.block,this,true);
qx.event.Registration.addListener(document.body,g,this.release,this,true);
qx.event.Registration.addListener(document.body,f,this.release,this,true);
this.__wg=this._createBlockerElement();
this.getContainerElement().add(this.__wg);

if(qx.core.Variant.isSet(k,C)){this.addListenerOnce(n,function(e){var I=this.getContainerElement().getDomElement();
qx.bom.Event.addNativeListener(I,x,this._onDOMNodeInserted);
});
this._onDOMNodeInserted=qx.lang.Function.listener(this._syncSourceAfterDOMMove,this);
}},properties:{appearance:{refine:true,init:u},nativeContextMenu:{refine:true,init:false},nativeHelp:{check:G,init:false,apply:r},scrollbar:{check:[z,a,s],nullable:true,themeable:true,apply:y}},members:{__wf:null,__wg:null,renderLayout:function(J,top,K,L){qx.ui.embed.AbstractIframe.prototype.renderLayout.call(this,J,top,K,L);
var N=F;
var M=this.getInsets();
this.__wg.setStyles({"left":M.left+N,"top":M.top+N,"width":(K-M.left-M.right)+N,"height":(L-M.top-M.bottom)+N});
},_createContentElement:function(){var O=new qx.html.Iframe(this.__wf);
O.addListener(i,this._onIframeLoad,this);
return O;
},_getIframeElement:function(){return this.getContentElement();
},_createBlockerElement:function(){var P=new qx.html.Element(A);
P.setStyles({"zIndex":20,"position":v,"display":c});
if(qx.core.Variant.isSet(k,o)){P.setStyles({backgroundImage:E+qx.util.ResourceManager.getInstance().toUri(w)+D,backgroundRepeat:B});
}return P;
},_onIframeLoad:function(e){this._applyNativeContextMenu(this.getNativeContextMenu(),null);
this._applyNativeHelp(this.getNativeHelp(),null);
this.fireNonBubblingEvent(i);
},block:function(){this.__wg.setStyle(b,m);
},release:function(){this.__wg.setStyle(b,c);
},_applyNativeContextMenu:function(Q,R){if(Q!==false&&R!==false){return;
}var S=this.getDocument();

if(!S){return;
}
try{var T=S.documentElement;
}catch(e){return ;
}
if(R===false){qx.event.Registration.removeListener(T,d,this._onNativeContextMenu,this,true);
}
if(Q===false){qx.event.Registration.addListener(T,d,this._onNativeContextMenu,this,true);
}},_onNativeContextMenu:function(e){e.preventDefault();
},_applyNativeHelp:qx.core.Variant.select(k,{"mshtml":function(U,V){var document=this.getDocument();

if(!document){return;
}
try{if(V===false){qx.bom.Event.removeNativeListener(document,h,qx.lang.Function.returnFalse);
}
if(U===false){qx.bom.Event.addNativeListener(document,h,qx.lang.Function.returnFalse);
}}catch(e){}},"default":function(){}}),_syncSourceAfterDOMMove:function(){var X=this.getContentElement().getDomElement();
var W=X.src;
if(W.charAt(W.length-1)==q){W=W.substring(0,W.length-1);
}
if(W!=this.getSource()){qx.bom.Iframe.getWindow(X).stop();
X.src=this.getSource();
}},_applyScrollbar:function(Y){this.getContentElement().setAttribute(p,Y);
}},destruct:function(){this._disposeObjects(l);
qx.event.Registration.removeListener(document.body,j,this.block,this,true);
qx.event.Registration.removeListener(document.body,g,this.release,this,true);
qx.event.Registration.removeListener(document.body,f,this.release,this,true);
}});
})();
(function(){var e="source",d="name",c="qx.html.Iframe",b="qx.event.type.Event",a="iframe";
qx.Class.define(c,{extend:qx.html.Element,construct:function(f,g,h){qx.html.Element.call(this,a,g,h);
this._setProperty(e,f);
},events:{"load":b},members:{_applyProperty:function(name,i){qx.html.Element.prototype._applyProperty.call(this,name,i);

if(name==e){var j=this.getDomElement();
qx.bom.Iframe.setSource(j,i);
}},_createDomElement:function(){return qx.bom.Iframe.create(this._content);
},getWindow:function(){var k=this.getDomElement();

if(k){return qx.bom.Iframe.getWindow(k);
}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(e,n);
return this;
},getSource:function(){return this._getProperty(e);
},setName:function(name){this.setAttribute(d,name);
return this;
},getName:function(){return this.getAttribute(d);
},reload:function(){var p=this.getDomElement();

if(p){var o=this.getSource();
this.setSource(null);
this.setSource(o);
}}}});
})();
(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(d){qx.event.Registration.fireEvent(d,b);
})},members:{canHandleEvent:function(e,f){return e.tagName.toLowerCase()===a;
},registerEvent:function(g,h,i){},unregisterEvent:function(j,k,l){}},defer:function(m){qx.event.Registration.addHandler(m);
}});
})();
(function(){var e="qx.client",d="webkit",c="body",b="iframe",a="qx.bom.Iframe";
qx.Class.define(a,{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(f,g){var f=f?qx.lang.Object.clone(f):{};
var h=qx.bom.Iframe.DEFAULT_ATTRIBUTES;

for(var i in h){if(f[i]==null){f[i]=h[i];
}}return qx.bom.Element.create(b,f,g);
},getWindow:qx.core.Variant.select(e,{"mshtml|gecko|webkit":function(j){try{return j.contentWindow;
}catch(k){return null;
}},"default":function(l){try{var m=this.getDocument(l);
return m?m.defaultView:null;
}catch(n){return null;
}}}),getDocument:qx.core.Variant.select(e,{"mshtml":function(o){try{var p=this.getWindow(o);
return p?p.document:null;
}catch(q){return null;
}},"default":function(r){try{return r.contentDocument;
}catch(s){return null;
}}}),getBody:function(t){try{var u=this.getDocument(t);
return u?u.getElementsByTagName(c)[0]:null;
}catch(v){return null;
}},setSource:function(w,x){try{if(this.getWindow(w)&&qx.dom.Hierarchy.isRendered(w)){try{if(qx.core.Variant.isSet(e,d)&&qx.bom.client.Platform.MAC){var y=this.getContentWindow();

if(y){y.stop();
}}this.getWindow(w).location.replace(x);
}catch(z){w.src=x;
}}else{w.src=x;
}}catch(A){qx.log.Logger.warn("Iframe source could not be set!");
}},queryCurrentUrl:function(B){var C=this.getDocument(B);

try{if(C&&C.location){return C.location.href;
}}catch(D){}return null;
}}});
})();
(function(){var m="update",l="showPhotoTab",k="showXsmsTab",j="black",i="track.xsmsphoto.XsmsPhoto",h="red",g="interval",f=")",e="embeddedHtmlFrameLeftBottom.url",d="XsmsPhoto.setEnable(",a="showInfoTab",c="showTabOnEvent",b="countBlinkOnEvent";
qx.Class.define(i,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(n){qx.core.Object.call(this);
this.trackGui=n;
this.log=this.trackGui.getLogger();
this.trackGui.controlFrame.add(this.__wh(),1);
},members:{setEnabled:function(o){if(this.eventTabView!=null){this.eventTabView.setEnabled(o);
this.trackGui.getLogger(d+o+f);
}},__wh:function(){this.eventTabView=new track.util.EnhancedTabView();
this.eventTabView.setMinHeight(208);
this.statusTab=new track.xsmsphoto.StatusTab();
this.eventTabView.add(this.statusTab);
this.xsmsTab=new track.xsmsphoto.XsmsTab(this);
this.eventTabView.add(this.xsmsTab);
this.photoTab=new track.xsmsphoto.PhotoTab(this);
this.eventTabView.add(this.photoTab);

if(xbProperties.getStr(e,null)!=null){this.infoTab=new track.xsmsphoto.InfoTab(this);
this.eventTabView.add(this.infoTab.createTab(this.eventTabView));
}this.showTabOnEvent=xbProperties.getBoolean(c,true);
this.countBlinkOnEvent=xbProperties.getInt(b,3);
this.statusTab.addListener(m,function(){if(this.showTabOnEvent)this.eventTabView.setSelection(this.statusTab);

if(this.countBlinkOnEvent>0)this.blink(this.statusTab.getButton(),this.countBlinkOnEvent);
},this);
this.xsmsTab.addListener(m,function(){if(this.showTabOnEvent)this.eventTabView.setSelection(this.xsmsTab);

if(this.countBlinkOnEvent>0)this.blink(this.xsmsTab.getButton(),this.countBlinkOnEvent);
},this);
this.photoTab.addListener(m,function(){if(this.showTabOnEvent)this.eventTabView.setSelection(this.photoTab);

if(this.countBlinkOnEvent>0)this.blink(this.photoTab.getButton(),this.countBlinkOnEvent);
},this);

if(this.xsmsTab!=null&&xbProperties.getBoolean(k,false)){this.eventTabView.setSelection([this.xsmsTab]);
}
if(this.photoTab!=null&&xbProperties.getBoolean(l,false)){this.eventTabView.setSelection([this.photoTab]);
}
if(this.infoTab!=null&&xbProperties.getBoolean(a,false)){this.eventTabView.setSelection([this.infoTab.getPage()]);
}return this.eventTabView;
},blink:function(p,q){if(q>0){q*=2;
var r=new qx.event.Timer(1000);
r.addListener(g,function(){if(q%2==0){p.setTextColor(h);
}else{p.setTextColor(j);
}
if(0>=--q)r.stop();
});
r.start();
}},initializeTabView:function(){this.xsmsTab.initializeXsmsPane();
this.photoTab.initializePhotoPage();
},clearTabView:function(){try{this.statusTab.clearStatusPane();
}catch(s){this.error("this.statusTab.clearStatusPane() "+s);
}
try{this.xsmsTab.clearXsmsPane();
}catch(t){this.error("this.xsmsTab.clearXsmsPane() "+t);
}
try{this.photoTab.clearPhotoPage();
}catch(u){this.error("this.photoTab.clearPhotoPage() "+u);
}}},destruct:function(){this.trackGui=null;
this.log=null;
}});
})();
(function(){var j="xSMS-error",i="DADADA",h="green",g="info",f="</br>",e="black",d="queued=true",c="</font>",b="  at: %1",a="Status",z="Warning: <font color='%1'>Device is not connected. The command is queued and will be send when device connects next time</font>",y="yellow",x="Error: <font color='%1'>%2</font>",w="<font color='green'>",v="incrementalResponse=true",u="qx.event.type.Event",t="tab title",s="brown",r="track.xsmsphoto.StatusTab",q="update",o="ADADAD",p="From: %1",m="sms=true",n="16/download.png",k="Warning: <font color='%1'>Device is not connected. An SMS is send and we are now waiting for the SMS response from the device ...</font>",l="red";
qx.Class.define(r,{extend:qx.ui.tabview.Page,include:[qx.locale.MTranslation],construct:function(){qx.ui.tabview.Page.call(this,this.trc(t,a),xbGetIcon(n));
this.setLayout(new qx.ui.layout.Canvas());
this.frame=new qx.ui.container.Composite(new qx.ui.layout.VBox(4));
this.scroller=new qx.ui.container.Scroll();
this.scroller.add(this.frame);
this.add(this.scroller,{left:0,top:0,right:0,bottom:0});
this.color=i;
this.lastStatusLabel=null;
},events:{"update":u},members:{__wi:function(){if(this.color==i){this.color=o;
}else{this.color=i;
}return this.color;
},receivedStatus:function(A,B,C,D,E){this.info("Received Status");
var K=org.xmlBlaster.util.getTimeStr();
var G=this.trc(g,p,B)+this.trc(g,b,K)+f;
var L=(E!=null&&E.indexOf(d)!=-1);
var M=(E!=null&&E.indexOf(v)!=-1);
var J=(E!=null&&E.indexOf(m)!=-1);
var F=e;

if(D!=null){F=l;
}else if(M&&J){F=s;
}else if(L){F=y;
}else{F=h;
}var H=null;

if(D!=null){H=this.trc(j,x,F,D);
}else if(M&&J){H=this.trc(j,k,F);
}else if(L){H=this.trc(j,z,F);
}
if(H!=null){G+=H+f;
}
if(F==h)C=w+C+c;
G+=C;
var I=new qx.ui.basic.Label(G);
I.setAllowGrowX(true);
I.setRich(true);
I.setBackgroundColor(this.__wi());
if(this.lastStatusLabel==null){this.frame.add(I);
}else{this.frame.addBefore(I,this.lastStatusLabel);
}this.lastStatusLabel=I;
this.fireEvent(q);
},clearStatusPane:function(){if(org.xmlBlaster.util.isDefined(this.frame)){this.frame.removeAll();
this.lastStatusLabel=null;
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var p="",o="xSMS-error",n="requestInfo.exception.errorCode",m="right",k="xsmsSenderName",j="__ASYNC__",h="info box",g="xsms",f="info",d="requestInfo.timedout",bw="button-checked",bv="Error: <font color='%1'>%2</font>",bu="Sending a message:",bt="queued=true",bs="Warning: <font color='%1'>Device is not connected. The command is queued and will be send when device connects next time</font>",br="_watcheeService",bq="GPS Portal",bp="focus",bo="sms=true",bn="updateFriendOf",w="changed",x="Timeout",u="xsmsMaySendToOthers",v="button",s="To: ",t="execute",q="Please choose a destination address.",r="22/actions/dialog-ok.png",E="promptMsgBox-label",F="yellow",R="sendRawCommandToTracker",N="sendxSMS",ba="black",U="center",bj="brown",bf="incrementalResponse=true",J="Please login first.",bm="loginName",bl="Subject: <font color='%1'>%2</font>",bk="qx.event.type.Event",I="track.xsmsphoto.XsmsTab",L="middle",M="textArea",P="<<Enter Text>>",S="tab title",V="xSMS is send to %1<br /><i>%2</i>",bc="To: %1",bh="16/apps/utilities-text-editor.png",y="Send",z="Your sender nick-name",K="appear",Y="off",X="xSMS",W="main",be="16/actions/mail-mark-read.png",bd="<i>for example 'Freddy', more than 3 characters, you can't change it during this session!</i>",T="xSMS-subject",bb="click",a="update",bg="\n",A="red",B="infoMsgBox",O="promptMsgBox-title",b="To label",c="groupbox title",H="left",C="green",D="Warning: <font color='%1'>Device is not connected. An SMS is send and we are now waiting for the SMS response from the device ...</font>",G="From: %1",Q="resultCsvFlag",bi="Please enter a nick name to identify yourself<br />";
qx.Class.define(I,{extend:qx.ui.tabview.Page,include:[qx.locale.MTranslation],construct:function(bx){qx.ui.tabview.Page.call(this,this.trc(S,X),xbGetQxIcon(be));
this.setLayout(new qx.ui.layout.VBox(4));
this.xsmsPhoto=bx;
this.trackGui=this.xsmsPhoto.trackGui;
this.log=this.trackGui.getLogger();
this.defaultText=this.trc(M,P);
this.eventTabXSms=null;
this.__wj();
this.__wk();
},events:{"update":bk},members:{__wj:function(){var by=new qx.ui.layout.VBox(4);
this.xsmsInboxFrame=new qx.ui.container.Composite(by);
this.xsmsInboxFrame.setDecorator(W);
this.xsmsInboxFrameScroller=new qx.ui.container.Scroll();
this.xsmsInboxFrameScroller.setScrollbarX(Y);
this.xsmsInboxFrameScroller.add(this.xsmsInboxFrame);
this.add(this.xsmsInboxFrameScroller,{flex:1});
},__wk:function(){var bB=new qx.ui.groupbox.GroupBox(this.trc(c,bu),xbGetQxIcon(bh));
bB.setContentPadding(1);
var bA=new qx.ui.layout.VBox();
bB.setLayout(bA);
this.add(bB);
this.writeTextArea=new qx.ui.form.TextArea(this.defaultText);
this.writeTextArea.setPadding(0);
this.writeTextArea.setMargin(0);
this.writeTextArea.setWrap(true);
this.writeTextArea.addListener(bp,function(e){var bC=org.xmlBlaster.util.trim(this.writeTextArea.getValue());

if(bC==this.defaultText){this.writeTextArea.setValue(p);
}},this);
bB.add(this.writeTextArea);
this.sendBox=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
bB.add(this.sendBox,{flex:1});
this.sendXsmsButton=new qx.ui.form.Button(this.trc(v,y),xbGetQxIcon(r));

with(this.sendXsmsButton){setAlignX(m);
addListener(t,function(e){var bE=org.xmlBlaster.util.trim(this.writeTextArea.getValue());

if(bE.length<1||bE==this.defaultText){this.writeTextArea.setValue(this.defaultText);
return;
}var bG=this.selectBoxDestinations.getSelection()[0];

if(!org.xmlBlaster.util.isDefined(bG)){this.trackGui.errorMsgBox(this.trc(h,q));
return;
}var bF=bG.getModel();

if(bF.length<1){return;
}
if(this.trackGui.watchee==null){this.trackGui.errorMsgBox(this.trc(h,J));
return;
}var bJ=this.__wl(bF,bE);

if(j!=bJ){this.__wm(bF,bJ,bE);
var bD=xbProperties.getBoolean(R,false);

if(bD){var bH=bE;
var bI=null;
this.trackGui.sendRawDeviceCommand(bF,bI,bH);
}}},this);
}this.sendBox.add(this.sendXsmsButton);
var bz=new qx.ui.basic.Label(this.trc(b,s));

with(bz){setAlignY(L);
setPaddingTop(5);
setPaddingLeft(2);
setPaddingRight(2);
setTextAlign(m);
}this.sendBox.add(bz,{left:0,top:0,bottom:0});
this.selectBoxDestinations=new qx.ui.form.SelectBox();
this.sendBox.add(this.selectBoxDestinations,{flex:1});
return bB;
},__wl:function(bK,bL){if(this.trackGui.watchee==null){return null;
}xsmsSenderName=xbProperties.getStr(k,null);

if(!org.xmlBlaster.util.isFilled(xsmsSenderName)&&this.trackGui.watchee.getAccountTO().isPublic()){var bM=xsmsSenderName==null?p:xsmsSenderName;
var bO=3;
var bN=false;
this.trackGui.promptMsgBox(this.trc(O,z),this.trc(E,bi+bd),bM,bO,bN,function(bP,bQ){if(bP){xbProperties.setAccountProp(k,bQ);
this.trackGui.makeLoginLabel(null);
this.__wm(bK,bQ,bL);
}else{}},this);
return j;
}return xsmsSenderName;
},__wm:function(bR,bS,bT){if(bS!=null){bT+=bg+bS;
}var bV=this.trackGui.watchee.getBuddyManager().getBuddyOrFriendOf(bR);
this.debug("Send xSMS to single client "+bV.getLoginName());
var bW=p;
var bU=new net.watchee.X_SMS(this.trackGui.watchee.getLoginName(),bV.getLoginName(),bW,bT);
this.trackGui.watchee.sendxSMS(bV.getLoginName(),null,bU,function(bX,bY,ca){this.debug("Send xSMS to "+bU.getToStr()+" succeeded");
this.xsmsPhoto.xsmsTab.addXsms(bU);
this.trackGui.infoMsgBox(this.trc(B,V,bV.getLoginName(),bU.getBody()),3000,false);
},this,N);
},addXsms:function(cb){this.xsmsInboxFrame.add(this.createSingleXsmsBox(cb));
},receivedxSMS:function(cc){this.info("Received xSMS "+cc.dump());
var cd=this.createSingleXsmsBox(cc);
var ch=this.xsmsInboxFrame.getChildren();

if(ch.length>0){var cg=cc.xmlBlasterRcvTimestampNanos;

for(var i=0;i<ch.length;i++){var cf=ch[i].getUserData(g);

if(cc!=null&&cf!=null){var ce=cf.xmlBlasterRcvTimestampNanos;

if(cg<ce){this.xsmsInboxFrame.addAt(cd,i);
return;
}}}}this.xsmsInboxFrame.add(cd);
},initializeXsmsPane:function(){if(this.trackGui.watchee==null)return;
this.trackGui.watchee.getBuddyManager().getEventManager().addListener(w,function(ci){if(this.trackGui.watchee==null)return;

if(!this.trackGui.watchee.getBuddyManager().buddiesInboundIsSet)return;
var cj=net.watchee.BuddyPermissionTO.PERMISSION_XSMS;
var cl=this.trackGui.watchee.getBuddyManager().getFriendOfList(cj);
this.selectBoxDestinations.removeAll();
var cm=this.trackGui.watchee.getAccountTO().getBuddyTO();
var cn=this.__wn(cm);
this.selectBoxDestinations.add(cn);
this.selectBoxDestinations.setSelection([cn]);
var cp=xbProperties.getBoolean(u,true);

if(cp){for(var i=0,l=cl.length;i<l;i++){var ck=cl[i];
var co=this.__wn(ck);
this.selectBoxDestinations.add(co);
}}},this);
},__wn:function(cq){var ct=new qx.ui.form.ListItem(cq.getAliasAndLoginName(),cq.getAvatarIconUrlSmall(),cq.getLoginName());
var cr=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_ONLINESTATUS,function(cu){if(cu.getData().loginName==ct.getModel())ct.setIcon(cu.getData().buddyTO.getAvatarIconUrlSmall());
},this);
var cs=this.trackGui.watchee.getBuddyManager().getEventManager().addListener(bn,function(cv){if(cv.getData().buddyTO.getLoginName()==ct.getModel())ct.setIcon(cv.getData().buddyTO.getAvatarIconUrlSmall());
},this);
return ct;
},createSingleXsmsBox:function(cw){this.info("createSingleXsmsBox "+cw.dump());
this.fireEvent(a);
var cB=new qx.ui.layout.VBox(0);
var cy=new qx.ui.container.Composite(cB);
cy.setDecorator(bw);
cy.setUserData(g,cw);
var cM=new qx.ui.container.Composite(new qx.ui.layout.HBox(0));
cy.add(cM,{left:0,top:0,right:0});
var cA=cw.getFrom().getSubjectId();
var cJ=this.trackGui.watchee.getBuddyManager().getBuddyOrFriendOf(cA);

if(cJ!=null)cA=cJ.getAliasAndLoginName();

if(cA==br){cA=cw.getProperties().get(bm,bq);
}var cD=new qx.ui.basic.Atom(this.trc(f,G,cA));
cD.setPaddingLeft(10);
cM.add(cD);

if(!cw.isTo(this.trackGui.watchee.getLoginName())){var cx=new qx.ui.basic.Atom(this.trc(f,bc,cw.getTo().getSubjectId()));
cM.add(cx,{left:0,top:0});
}var cz=cw.getProperties().contains(n)||cw.getProperties().contains(d);
var cI=cw.getProperties().get(Q,null);
var cN=(cI!=null&&cI.indexOf(bt)!=-1);
var cO=(cI!=null&&cI.indexOf(bf)!=-1);
var cG=(cI!=null&&cI.indexOf(bo)!=-1);
var cC=ba;

if(cz){cC=A;
}else if(cO&&cG){cC=bj;
}else if(cN){cC=F;
}else{cC=C;
}
if(cw.hasSubject()){var cP=null;
var cP=new qx.ui.basic.Label(this.trc(T,bl,cC,cw.getSubject()));

with(cP){setRich(true);
setPaddingLeft(10);
setPaddingRight(5);
setTextAlign(U);
}cy.add(cP,{left:0,top:0});
}var cL=new qx.ui.basic.Label(cw.getLocalSendTimeStr());

with(cL){setTextAlign(m);
setPaddingLeft(10);
setPaddingRight(5);
}cM.add(cL,{left:0,top:0});
var cE=null;

if(cz){var cH=cw.getProperties().contains(d)?this.trc(o,x):p;

if(cw.getProperties().contains(n))cH=cw.getProperties().get(n,p);
cE=this.trc(o,bv,cC,cH);
}else if(cO&&cG){cE=this.trc(o,D,cC);
}else if(cN){cE=this.trc(o,bs,cC);
}
if(cE!=null){var cK=new qx.ui.basic.Label(cE);

with(cK){setRich(true);
setPaddingLeft(10);
setPaddingRight(5);
setTextAlign(H);
}cy.add(cK,{left:0,top:0});
}var cF=new qx.ui.form.TextArea(cw.getBody());
cF.setDecorator(null);
cF.setWrap(true);
cF.setReadOnly(true);
cy.add(cF,{left:0,top:0});
cF.addListener(K,function(e){var cQ=e.getTarget();
this.xsmsInboxFrameScroller.scrollToY(1000000);
},this);
cF.addListener(bb,function(e){if(this.trackGui.watchee==null||this.trackGui.watchee.getMapManager()==null)return;
this.info("click widget is "+e);
var cS=cw.getEnmea();

if(!org.xmlBlaster.util.isFilled(cS)){this.info("No enmea with xSMS");
return;
}var cV=cw.getFromStr();
var cW=this.trackGui.watchee.getDevice(cV);
var cT=new net.watchee.GPSData(cS,cW);
var cR=cV;
var cU=this.trackGui.watchee.getBuddyManager().getBuddyOrMyself(cR);

if(cU!=null&&cU.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS)){this.trackGui.watchee.getMapManager().showXsmsInfoWindow(cw,cT);
}},this);
return cy;
},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 t="pictureId",s="",r="100%",q="track.xsmsphoto.PhotoTab",p="click",o="update",n=" (",m="Photo",k="i",j="  ",c=" GMT)",h="qx.event.type.Event",g="tab title",b="t",a="addGps",f=": ",d="16/devices/camera-photo.png";
qx.Class.define(q,{extend:qx.ui.tabview.Page,include:[qx.locale.MTranslation],construct:function(u){qx.ui.tabview.Page.call(this,this.trc(g,m),xbGetQxIcon(d));
this.setLayout(new qx.ui.layout.VBox(0));
this.xsmsPhoto=u;
this.trackGui=this.xsmsPhoto.trackGui;
this.log=this.trackGui.getLogger();
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.add(scroll,{left:0,top:0,width:r,height:r});
},events:{"update":h},members:{initializePhotoPage:function(){if(this.trackGui.watchee==null)return;
this.trackGui.watchee.getEventManager().addListener(a,function(v){this.addPhotoToPhotoGallery(v.getData().track,v.getData().gpsData);
},this);
},addPhotoToPhotoGallery:function(w,x){if(this.trackGui.watchee==null)return;
this.info("addPhotoToGallery ");
this.fireEvent(o);
var E=x.getPictureId(null);

if(E==null)return null;
var y=x.getInfo(k,s)+j+x.getInfo(b,s);

if(y.length==0)y=w.getTrackName();
var C=net.watchee.toPictureInfo(this.trackGui.watchee,x);

if(C==null)return null;

if(this.findPictureIdInGroupBox(E)==E){return null;
}var A=w.getDeviceId()+f+y+n+x.getTime()+c;
var B=new qx.ui.groupbox.GroupBox(A);
B.setUserData(t,C.pictureId);
B.setLayout(new qx.ui.layout.Basic());
var D=new qx.ui.basic.Image(C.url);
B.add(D);
D.setUserData(t,C.pictureId);
D.addListener(p,function(e){if(this.trackGui.watchee==null)return;
var F=true;
this.trackGui.watchee.getMapManager().updateMap(w,x,F);
},this);
this.eventPagePhotoVBox.add(B);
var z=50;

if(this.eventPagePhotoVBox.getChildren().length>z)this.eventPagePhotoVBox.removeAt(0);
return C;
},findPictureIdInGroupBox:function(G){var H=this.findGroupBox(G);

if(H==null)return 0;
return H.getUserData(t);
},findGroupBox:function(I){if(I==null)return null;
var K=this.eventPagePhotoVBox.getChildren();

for(var i=0,l=K.length;i<l;i++){var J=K[i];
var L=J.getUserData(t);

if(L==I){return J;
}}return null;
},removePhotoFromPhotoGallery:function(M){var P=M.getPictureId(null);

if(P==null)return 0;
var N=this.eventPagePhotoVBox.getChildren();

for(var i=0,l=N.length;i<l;i++){var O=N[i];
var Q=O.getUserData(t);

if(Q==P){this.eventPagePhotoVBox.removeAt(i);
return P;
}}return 0;
},clearPhotoPage:function(){if(org.xmlBlaster.util.isDefined(this.eventPagePhotoVBox)){this.eventPagePhotoVBox.removeAll();
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var i="100%",h="track.xsmsphoto.InfoTab",g="16/info_16.png",f="/iframelb/index.html",d="embeddedHtmlFrameLeftBottom.url",c="load",b="Info ",a="tabTitleInfo";
qx.Class.define(h,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(j){qx.core.Object.call(this);
this.xsmsPhoto=j;
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(a,b),xbGetIcon(g));
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:i,height:i});
this.embeddedFramelb.addListener(c,function(e){this.debug("Loaded: "+this.getSource());
});
var l=xbProperties.getStr(d,f);
l=this.trackGui.prepareUrlForLocale(l);
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 i="info text",h="track.pref.PreferenceWindow",g="Configure general settings",f="images/16/logo_16.png",e="32/actions/system-run.png",d="Configure my settings",c="button caption";
var a=200;
var b=350;
qx.Class.define(h,{extend:track.util.WindowWithHelpIcon,construct:function(j){track.util.WindowWithHelpIcon.call(this);
this.setLayout(new qx.ui.layout.Canvas());
this.setCaption(this.trc(c,d));
this.setIcon(f);
this.trackGui=j;
this.ME="PreferenceWindow.js";
this.log=this.trackGui.getLogger();
},members:{getPreferenceWindowTop:function(){if(a>300)a=300;
a+=25;
return a;
},getPreferenceWindowLeft:function(){if(b>450)b=350;
b+=25;
return b;
},createPreferenceWindow:function(){this.moveTo(this.getPreferenceWindowLeft(),this.getPreferenceWindowTop());
var l=(this.trc(i,g));
var k=new qx.ui.basic.Atom(l,xbGetQxIcon(e));
k.setRich(true);
this.add(k,{top:4,left:4});
var m=new track.util.EnhancedTabView();
var n=true;
this.passwordTab=new track.pref.PasswordTab(this);
this.passwordTab.createTab(m);

if(n){this.mapTab=new track.pref.HomeViewTab(this);
this.mapTab.createTab(m);
}this.add(m,{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 k="info box",j="middle",i="right",h="info text",g="input info",f="infoMsgBox",d="button",c="execute",b="left",a="groupbox title",P="22/actions/dialog-close.png",O="Delete Account",N="Label",M="askMsgBox",L="track.pref.PasswordTab",K="Password:",J="22/actions/dialog-ok.png",I="Account can't be removed for public users",H="32/apps/preferences-security.png",G="You new password must be at least 5 characters long",r="Change Password",s="Delete",p="askMgsBox title",q="Destroying your account ...<p>Note: This can take half an hour depending on the amount of data you have</p><br />Please be patient ...",n="tab title",o="Nothing destroyed, you are still a <i>%1</i> user",l="Your old password is not correct",m="<b>Destroy %1</b>",t="Your 're-type'  password is different, please enter again",u="No password change for public users",y="Do you really want to destroy permanently your account <br /><b>%1</b>?",x="Your password is not correct",A="Re-type new password:",z="New password:",C="32/status/security-high.png",B="Password / Account",w="22/emblems/emblem-important.png",F="DANGER (all data is destroyed)",E="Changing Password ...",D="Old password:",v="Submit";
qx.Class.define(L,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(Q){qx.core.Object.call(this);
this.preferenceWindow=Q;
this.trackGui=this.preferenceWindow.trackGui;
this.ME="PasswordTab.js";
this.log=this.trackGui.getLogger();
},members:{createTab:function(R){this.tabviewPage=new qx.ui.tabview.Page(this.trc(n,B),xbGetQxIcon(H));
var T=new qx.ui.layout.VBox(10);
this.tabviewPage.setLayout(T);
R.add(this.tabviewPage);

if(this.trackGui.watchee==null)return;
var S=this._createChangePasswordGroup();
this.tabviewPage.add(S);
var U=this._createRemoveAccountGroup();
this.tabviewPage.add(U);
return this.tabviewPage;
},_createChangePasswordGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(h,u));
}var X=new qx.ui.groupbox.GroupBox(this.trc(a,r),xbGetQxIcon(C));
var W=new qx.ui.layout.Grid(6,4);
X.setLayout(W);
W.setColumnAlign(0,b,j);
W.setColumnAlign(1,i,j);
var V=new qx.ui.form.PasswordField();
X.add(new qx.ui.basic.Label(this.trc(g,D)),{row:0,column:0});
X.add(V,{row:0,column:1});
var bb=new qx.ui.form.PasswordField();
X.add(new qx.ui.basic.Label(this.trc(g,z)),{row:1,column:0});
X.add(bb,{row:1,column:1});
var ba=new qx.ui.form.PasswordField();
X.add(new qx.ui.basic.Label(this.trc(g,A)),{row:2,column:0});
X.add(ba,{row:2,column:1});
var Y=new qx.ui.form.Button(this.trc(d,v),xbGetQxIcon(J));
Y.setAlignX(i);
X.add(Y,{row:3,column:1});
Y.addListener(c,function(e){if(this.trackGui.watchee==null)return;

if(V.getValue()!=this.trackGui.loginForm.passwordTextField.getValue()){this.trackGui.infoMsgBox(this.trc(k,l));
return;
}
if(bb.getValue()!=ba.getValue()){this.trackGui.infoMsgBox(this.trc(k,t));
return;
}
if(bb.getValue().length<5){this.trackGui.infoMsgBox(this.trc(k,G));
return;
}this.trackGui.infoMsgBox(this.trc(k,E),1000);
var bc=this.trackGui.loginForm.getLoginTextFieldValue();
this.trackGui.sendChangePassword(bc,V.getValue(),bb.getValue());
},this);
return X;
},_createRemoveAccountGroup:function(){if(this.trackGui.watchee.getAccountTO().isPublic()){return new qx.ui.basic.Label(this.trc(h,I));
}var bg=new qx.ui.groupbox.GroupBox(this.trc(a,O),xbGetQxIcon(w));
var be=new qx.ui.layout.Grid(6,4);
bg.setLayout(be);
be.setColumnAlign(0,b,j);
be.setColumnAlign(1,i,j);
var bf=new qx.ui.form.PasswordField();
bg.add(new qx.ui.basic.Label(this.trc(N,K)),{row:0,column:0});
bg.add(bf,{row:0,column:1});
var bh=this.trackGui.loginForm.getLoginTextFieldValue();
bg.add(new qx.ui.basic.Label(this.trc(h,F)),{row:1,column:0});
var bd=new qx.ui.form.Button(this.trc(d,m,bh),xbGetQxIcon(P));
bd.setRich(true);
bd.setAlignX(i);
bg.add(bd,{row:1,column:1});
bd.addListener(c,function(e){if(this.trackGui.watchee==null)return;

if(bf.getValue()!=this.trackGui.loginForm.passwordTextField.getValue()){this.trackGui.infoMsgBox(this.trc(f,x));
return;
}this.trackGui.askMsgBox(this.trc(p,s),this.trc(M,y,bh),function(bi){if(bi){bd.setEnabled(false);
this.trackGui.infoMsgBox(this.trc(f,q));
this.trackGui.sendRemoveAccount(bh,bf.getValue());
}else{this.trackGui.infoMsgBox(this.trc(f,o,this.trackGui.getMyOemName()),4000);
}},this);
},this);
return bg;
}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var k="",j="label",i="infoMsgBox",h="button",g="<b>Create</b>",f="execute",d="New name",c="errorMsg",b="left",a="Customize home views",K="Home view",J="This home view name is too short",I="16/actions/dialog-ok.png",H="right",G="Latitude",F="The home view <b>%1</b> has been succesfully created",E="interval",D="The home view <b>%1</b> has been succesfully modified and renamed to <b>%2</b>",C="The home view <b>%1</b> has been modified",B="middle",r="Longitude",s="<b>Modify</b>",p="tab title",q="<b>Delete</b>",n="The home view <b>%1</b> has been deleted",o="appear",l="This home view name is too long",m="track.pref.HomeViewTab",t="22/actions/go-home.png",u="Select home view",w="disappear",v="Zoom level",y="changeHomeView",x="22/places/user-trash.png",A="groupbox title",z="Change name";
qx.Class.define(m,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(L){qx.core.Object.call(this);
this.preferenceWindow=L;
this.trackGui=this.preferenceWindow.trackGui;
this.log=this.trackGui.getLogger();
this.currHomeView=null;
this.timer=new qx.event.Timer(1000);
this.timer.addListener(E,function(e){if(this.trackGui.watchee==null)return;
var M=this.trackGui.watchee.getMapManager().getCenterCoordinates();
var N=this.trackGui.watchee.getMapManager().getZoomFactor();
this.latTextField.setValue(M.getLat()+k);
this.lonTextField.setValue(M.getLng()+k);
this.zoomTextField.setValue(N+k);
},this);
this.modeNew=true;
},members:{createTab:function(O){this.tabviewPage=new qx.ui.tabview.Page(this.trc(p,K),xbGetQxIcon(t));
this.tabviewPage.setLayout(new qx.ui.layout.VBox(10));
O.add(this.tabviewPage);
this.tabviewPage.add(this.__wo());
this.tabviewPage.addListener(o,function(){this.timer.start();
},this);
this.tabviewPage.addListener(w,function(){this.timer.stop();
},this);
return this.tabviewPage;
},__wo:function(){var Q=new qx.ui.groupbox.GroupBox(this.trc(A,a));
var P=new qx.ui.layout.Grid(6,4);
Q.setLayout(P);
P.setRowAlign(0,b,B);
var S=0;
this.homeViewSelectBox=new track.mainview.HomeViewSelectBox(this.trackGui);
this.homeViewSelectBox.setConfigMode();
this.homeViewSelectBox.updateItems();
var R=new qx.ui.basic.Label(this.trc(j,u));
Q.add(R,{row:S,column:0});
Q.add(this.homeViewSelectBox,{row:S,column:1});
S++;
this.nameTextField=new qx.ui.form.TextField(k);
this.nameLabel=new qx.ui.basic.Label(this.trc(j,d));
Q.add(this.nameLabel,{row:S,column:0});
Q.add(this.nameTextField,{row:S,column:1});
S++;
this.latTextField=new qx.ui.form.TextField(k);
var R=new qx.ui.basic.Label(this.trc(j,G));
Q.add(R,{row:S,column:0});
Q.add(this.latTextField,{row:S,column:1});
this.latTextField.setEnabled(false);
S++;
this.lonTextField=new qx.ui.form.TextField(k);
var R=new qx.ui.basic.Label(this.trc(j,r));
Q.add(R,{row:S,column:0});
Q.add(this.lonTextField,{row:S,column:1});
this.lonTextField.setEnabled(false);
S++;
this.zoomTextField=new qx.ui.form.TextField(k);
var R=new qx.ui.basic.Label(this.trc(j,v));
Q.add(R,{row:S,column:0});
Q.add(this.zoomTextField,{row:S,column:1});
this.zoomTextField.setEnabled(false);
S++;
this.homeViewSelectBox.addListener(y,function(T){this.currHomeView=T.getData();
this._setModeNew(this.currHomeView==this.homeViewSelectBox.newHomeView);
},this);
this.deleteButton=new qx.ui.form.Button(this.trc(h,q),xbGetQxIcon(x));

with(this.deleteButton){setWidth(160);
setAlignX(b);
setRich(true);
}Q.add(this.deleteButton,{row:S,column:0});
this.deleteButton.setEnabled(false);
this.deleteButton.addListener(f,function(e){if(this.trackGui.watchee==null)return;
this._removeCurrHomeView();
this._updateHomeViews();
},this);
this.submitButton=new qx.ui.form.Button(this.trc(h,g),xbGetQxIcon(I));

with(this.submitButton){setWidth(160);
setAlignX(H);
setRich(true);
}Q.add(this.submitButton,{row:S,column:1});
this.submitButton.addListener(f,function(e){if(this.trackGui.watchee==null)return;

if(this.modeNew){this._addNewHomeView();
}else{this._changeCurrHomeView();
}this._updateHomeViews();
},this);
return Q;
},_setModeNew:function(U){if(U){this.modeNew=true;
this.deleteButton.setEnabled(false);
this.submitButton.setLabel(this.trc(h,g));
this.nameTextField.setValue(k);
this.nameLabel.setValue(this.trc(j,d));
}else{this.modeNew=false;
this.deleteButton.setEnabled(true);
this.submitButton.setLabel(this.trc(h,s));
this.nameTextField.setValue(this.currHomeView.getName());
this.nameLabel.setValue(this.trc(j,z));
this.latTextField.setValue(this.currHomeView.getLat()+k);
this.lonTextField.setValue(this.currHomeView.getLon()+k);
this.zoomTextField.setValue(this.currHomeView.getZoom()+k);
}},_removeCurrHomeView:function(){var name=this.currHomeView.getName();
this.trackGui.getMyAccountTO().getHomeViewsData().remove(name);
var V=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+this.currHomeView.getName();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),V,k,function(){this.trackGui.infoMsgBox(this.trc(i,n,name));
this._setModeNew(true);
},this);
},_changeCurrHomeView:function(){var bd=this.currHomeView;
var be=this._getNewHomeView();

if(be!=null){var ba=bd.getName();
var X=be.getName();
var W=this.trc(i,D,ba,X);

if(ba==X)W=this.trc(i,C,ba);
var Y=this.trackGui.getMyAccountTO().getHomeViewsData();
Y.remove(ba);
var bb=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+ba;
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),bb,k);
Y.add(be);
var bb=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+X;
var bc=be.toCSV();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),bb,bc,function(){this.trackGui.infoMsgBox(W);
this._setModeNew(true);
},this);
}},_addNewHomeView:function(){var bh=this._getNewHomeView();

if(bh==null)return;
var name=bh.getName();

if(bh!=null){this.trackGui.getMyAccountTO().getHomeViewsData().add(bh);
var bg=net.watchee.HomeView.KEY_HOMEVIEW_PREFIX+name;
var bf=bh.toCSV();
this.trackGui.sendChangeAccountProperty(this.trackGui.getMyLoginName(),bg,bf,function(){this.trackGui.infoMsgBox(this.trc(i,F,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(c,J));
return null;
}
if(name.length>20){this.trackGui.errorMsgBox(this.trc(c,l));
return null;
}var bi=this.latTextField.getValue();
var bk=this.lonTextField.getValue();
var bl=this.zoomTextField.getValue();
var bj=new net.watchee.HomeView(name,bi,bk,bl);
return bj;
},_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 m={};
var t=0;
var n;
var p=qx.core.ObjectRegistry.getRegistry();

for(var q in p){n=p[q];

if(n&&n.isDisposed()===false){if(m[n.classname]==null){m[n.classname]=1;
}else{m[n.classname]++;
}t++;
}}var s=[];

for(var o in m){s.push({classname:o,number:m[o]});
}s.sort(function(a,b){return b.number-a.number;
});
var r=k+t+g;

for(var i=0;i<s.length;i++){r+=s[i].number+l+s[i].classname+h;
}return r;
},getNewObjects:function(){var v={};
var F=0;
var w;
var A=qx.core.ObjectRegistry.getRegistry();
var y={};
var E;

for(var B in A){w=A[B];

if(w&&w.__disposed===false){var z=w.classname;

if(v[z]==null){v[z]=1;
}else{v[z]++;
}E=y[z];

if(E==null){E=y[z]=new Array();
}E[E.length]=w.toHashCode();
F++;
}}
if(!this._m_dObjectList){this._m_dObjectList={};
}var u={};

for(var z in v){if(!(z in this._m_dObjectList)){this._m_dObjectList[z]=0;
}
if(this._m_dObjectList[z]>=0&&this._m_dObjectList[z]<v[z]){u[z]=v[z]-this._m_dObjectList[z];
}}this._m_dObjectList=v;
var D=[];

for(var x in u){D.push({classname:x,number:u[x],aHashCode:y[x]});
}D.sort(function(a,b){return b.number-a.number;
});
var C=k+F+d;

for(var i=0;i<D.length;i++){C+=D[i].number+l+D[i].classname+e+D[i].aHashCode.join(c)+f;
}return C;
}}});
})();
(function(){var t="addTrack",s="AjaxAnimator",r="infoMsgBox",q="track.util.HistoryPreloader",p="historyLoadTrack.segmentColors",o="loginNames.length != trackNames.length",n="You have no permission get history track %1 for  %2",m="historyLoadTrack.delaySec",k="#ff0000",j="Showing track failed",c="historyLoadTrack.numIconsToShow",h="historyLoadTrack.trackNames",g="historyLoadTrack.loginNames",b="historyLoadTrack.iconNames",a="Drawing %1",f="historyLoadTrack.iconNamesStatic",d="historyLoadTrack.segmentWidths";
qx.Class.define(q,{extend:qx.core.Object,include:[qx.locale.MTranslation],construct:function(u){qx.core.Object.call(this);
this.trackGui=u;
this.watchee=this.trackGui.watchee;
this.addTrackEventFunc=null;
this.numArrivedExpected=0;
this.countArrived=0;
this.trackDisplayInfos=[];
},members:{checkLoadingHistoryTracks:function(){var v=xbProperties.getInt(m,5);
qx.event.Timer.once(this.loadConfiguredHistoryTrackNames,this,v*1000);
},loadConfiguredHistoryTrackNames:function(){this.trackDisplayInfos=[];
var z=xbProperties.getArray(g,null);
var F=xbProperties.getArray(h,null);

if(z.length!=F.length){this.trackGui.infoMsgBox(this.trc(r,o));
return;
}var y=xbProperties.getArray(d,null);
var x=xbProperties.getArray(c,null);
var A=xbProperties.getArray(p,null);
var B=xbProperties.getArray(b,null);
var D=xbProperties.getArray(f,null);

for(var i=0,l=F.length;i<l;i++){var C=net.watchee.IconDisplayInfo.RENDER_STATIC;

if(D.length>i){var w=org.xmlBlaster.util.toBoolean(D[i],true);
C=w?net.watchee.IconDisplayInfo.RENDER_STATIC:net.watchee.IconDisplayInfo.RENDER_ARROW;
}var E={loginName:z[i],trackName:F[i],segmentWidth:((y.length)>i?org.xmlBlaster.util.toNumber(y[i],3):3),mumIconsToShow:((x.length)>i?org.xmlBlaster.util.toNumber(x[i],1000):1000),segmentColor:((A.length)>i?A[i]:k),iconName:((B.length)>i?B[i]:null),renderType:C};
this.trackDisplayInfos.push(E);
}this.loadHistoryTrackNames(this.trackDisplayInfos);
},loadHistoryTrackNames:function(G){this.numArrivedExpected=G.length;

for(var i=0,l=G.length;i<l;i++){var H=G[i];
this.loadHistoryTrack(H);
}},loadHistoryTrack:function(I){var L=I.loginName;
var N=I.trackName;

try{var M=this.watchee.getBuddyManager().getBuddyOrMyself(L);

if(M==null){return;
}
if(!M.hasPermission(net.watchee.BuddyPermissionTO.PERMISSION_GPS_HISTORY)){this.trackGui.infoMsgBox(this.trc(r,n,N,L));
return;
}var J=M.getDevice();
var K=J.getTrackOrNull(N);

if(K!=null){this.__wq(K,I);
return;
}
if(this.numArrivedExpected==0)this.numArrivedExpected=1;
this.__wp(J,L,N);
}catch(O){this.errorMsgBox(this.trc(s,j),O);
}},__wp:function(P,Q,R){if(this.addTrackEventFunc==null){this.addTrackEventFunc=P.getEventManager().addListener(t,function(S){var T=S.getData().track;
var U=S.getData().taskNameInfo;

if(U!=null&&U.taskName==org.xmlBlaster.util.PropTO.VALUE_TASK_NAMED_GETTRACKS&&U.currTrackIndex<U.countTracks-1)return;
this.trackGui.getLogger().info("HistoryPreloader.js: Received addTrack event for "+T.getTrackName());
this.__wq(T,this.trackDisplayInfos[this.countArrived]);
this.countArrived++;

if(U.currTrackIndex==U.countTracks-1)this.unregisterListener(P);
},this);
}this.trackGui.getTrackLocations(Q,R);
},__wq:function(V,W){var V=V||null;

if(V==null)return;
var bb=V.getDevice();
var Y=bb.getBuddyTO();

if(V.locationsAreLoaded())this.trackGui.startAjaxAnimator(this.trc(s,a,V.getTrackName()),40000);
var X=V.getSegmentDisplayInfoDefault();
X.setNumSegmentsToShow(V.fifoGpsQueue.size());
X.setSegmentWidth(W.segmentWidth);
V.setNumIconsToShow(V.fifoGpsQueue.size());
V.setSegmentColor(W.segmentColor);

if(W.iconName!=null)V.setIconName(W.iconName,W.renderType);
V.drawHistoryLine();
var ba=V.getFifoGpsQueue().getArray();

for(var i=0,l=ba.length;i<l;i++){this.trackGui.addPhotoToPhotoGallery(V,ba[i]);
}V.drawPositionIcons(function(e){this.trackGui.stopAjaxAnimator();
},this);
},unregisterListener:function(bc){if(this.addTrackEventFunc!=null&&this.countArrived==this.numArrivedExpected){bc.getEventManager().removeListener(t,this.addTrackEventFunc);
this.addTrackEventFunc=null;
this.numArrivedExpected=0;
this.countArrived=0;
}}},destruct:function(){this._disposeFields();
this._disposeObjects();
}});
})();
(function(){var dN="button-frame",dM="atom",dL="widget",dK="main",dJ="button",dI="bold",dH="text-selected",dG="image",dF="middle",dE="selected",co="background-light",cn="cell",cm="text-disabled",cl="groupbox",ck="decoration/arrows/down.png",cj="label",ci="border-invalid",ch="input",cg="white",cf="input-disabled",dU="menu-button",dV="input-focused-invalid",dS="toolbar-button",dT="spinner",dQ="input-focused",dR="popup",dO="tooltip",dP="list",dW="tree-item",dX="treevirtual-contract",dk="scrollbar",dj="datechooser/nav-button",dm="text-hovered",dl="center",dp="treevirtual-expand",dn="textfield",dr="decoration/arrows/right.png",dq="background-application",di="radiobutton",dh="invalid",k="combobox",l="right-top",m="checkbox",n="text-title",o="icon/16/places/folder-open.png",p="qx/static/blank.gif",q="scrollbar/button",r="right",s="combobox/button",t="icon/16/places/folder.png",em="text-label",el="decoration/tree/closed.png",ek="scrollbar-slider-horizontal",ej="checkbox-checked",eq="decoration/arrows/left.png",ep="button-focused",eo="text-light",en="menu-slidebar-button",es="checkbox-undetermined",er="text-input",bm="slidebar/button-forward",bn="background-splitpane",bk=".png",bl="decoration/tree/open.png",bq="default",br="decoration/arrows/down-small.png",bo="datechooser",bp="slidebar/button-backward",bi="selectbox",bj="treevirtual-folder",N="shadow-popup",M="icon/16/mimetypes/office-document.png",P="background-medium",O="icon/32/places/folder-open.png",J="icon/22/places/folder-open.png",I="table",L="decoration/arrows/up.png",K="decoration/form/",H="",G="-invalid",bx="button-checked",by="decoration/window/maximize-active-hovered.png",bz="radiobutton-hovered",bA="keyboard-focus",bt="group-item",bu="decoration/cursors/",bv="slidebar",bw="tooltip-error-arrow",bB="table-scroller-focus-indicator",bC="move-frame",bb="nodrop",ba="decoration/table/boolean-true.png",Y="table-header-cell",X="menu",W="app-header",V="row-layer",U="text-inactive",T="move",bf="radiobutton-checked-focused",be="decoration/window/restore-active-hovered.png",bD="shadow-window",bE="table-column-button",bF="right.png",bG="checkbox-undetermined-hovered",bH="tabview-page-button-bottom-inactive",bI="tooltip-error",bJ="window-statusbar",bK="button-hovered",bL="decoration/scrollbar/scrollbar-",bM="background-tip",cw="scrollbar-slider-horizontal-disabled",cv="table-scroller-header",cu="button-pressed",ct="table-pane",cA="decoration/window/close-active.png",cz="native",cy="checkbox-hovered",cx="button-invalid-shadow",cE="decoration/window/minimize-active-hovered.png",cD="menubar",dc="icon/16/actions/dialog-cancel.png",dd="tabview-page-button-top-inactive",da="tabview-page-button-left-inactive",db="menu-slidebar",cX="toolbar-button-checked",cY="decoration/tree/open-selected.png",cV="radiobutton-checked",cW="decoration/window/minimize-inactive.png",de="icon/16/apps/office-calendar.png",df="group",dv="tabview-page-button-right-inactive",du="decoration/window/minimize-active.png",dx="decoration/window/restore-inactive.png",dw="checkbox-checked-focused",dz="splitpane",dy="combobox/textfield",dB="button-preselected-focused",dA="decoration/window/close-active-hovered.png",dt="qx/icon/Tango/16/actions/window-close.png",ds="checkbox-pressed",ef="button-disabled",eg="selected-dragover",eh="border-separator",ei="decoration/window/maximize-inactive.png",eb="dragover",ec="scrollarea",ed="scrollbar-vertical",ee="decoration/menu/checkbox-invert.gif",dY="decoration/toolbar/toolbar-handle-knob.gif",ea="icon/22/mimetypes/office-document.png",j="button-preselected",i="button-checked-focused",h="up.png",g="best-fit",f="decoration/tree/closed-selected.png",e="qx.theme.modern.Appearance",d="text-active",c="toolbar-button-hovered",b="progressive-table-header",a="decoration/table/select-column-order.png",w="decoration/menu/radiobutton.gif",x="decoration/arrows/forward.png",u="decoration/table/descending.png",v="progressbar",A="window-captionbar-active",B="checkbox-checked-hovered",y="scrollbar-slider-vertical",z="toolbar",D="alias",E="decoration/window/restore-active.png",cI="decoration/table/boolean-false.png",cC="icon/32/mimetypes/office-document.png",cP="radiobutton-checked-disabled",cL="tabview-pane",cr="decoration/arrows/rewind.png",cp="checkbox-focused",R="top",cs="icon/16/actions/dialog-ok.png",bd="radiobutton-checked-hovered",bc="table-header-cell-hovered",bW="window",bX="text-gray",bY="decoration/menu/radiobutton-invert.gif",ca="text-placeholder",cb="slider",cc="keep-align",cd="down.png",ce="tabview-page-button-top-active",bT="icon/22/places/folder.png",bU="decoration/window/maximize-active.png",cq="checkbox-checked-pressed",cO="decoration/window/close-inactive.png",cN="tabview-page-button-left-active",cM="toolbar-part",cT="decoration/splitpane/knob-vertical.png",cS=".gif",cR="radiobutton-checked-pressed",cQ="table-statusbar",cK="radiobutton-pressed",cJ="window-captionbar-inactive",C="copy",bh="radiobutton-focused",bg="decoration/arrows/down-invert.png",cB="decoration/menu/checkbox.gif",bs="decoration/splitpane/knob-horizontal.png",cH="icon/32/places/folder.png",cG="toolbar-separator",cF="tabview-page-button-bottom-active",Q="decoration/arrows/up-small.png",cU="decoration/table/ascending.png",F="decoration/arrows/up-invert.png",S="small",bN="tabview-page-button-right-active",bO="-disabled",bP="scrollbar-horizontal",bQ="checkbox-undetermined-focused",bR="progressive-table-header-cell",bS="menu-separator",dg="pane",bV="decoration/arrows/right-invert.png",dD="left.png",dC="icon/16/actions/view-refresh.png";
qx.Theme.define(e,{appearances:{"widget":{},"root":{style:function(et){return {backgroundColor:dq,textColor:em,font:bq};
}},"label":{style:function(eu){return {textColor:eu.disabled?cm:undefined};
}},"move-frame":{style:function(ev){return {decorator:dK};
}},"resize-frame":bC,"dragdrop-cursor":{style:function(ew){var ex=bb;

if(ew.copy){ex=C;
}else if(ew.move){ex=T;
}else if(ew.alias){ex=D;
}return {source:bu+ex+cS,position:l,offset:[2,16,2,6]};
}},"image":{style:function(ey){return {opacity:!ey.replacement&&ey.disabled?0.3:1};
}},"atom":{},"atom/label":cj,"atom/icon":dG,"popup":{style:function(ez){return {decorator:dK,backgroundColor:co,shadow:N};
}},"button-frame":{alias:dM,style:function(eA){var eC,eB;

if(eA.checked&&eA.focused&&!eA.inner){eC=i;
eB=undefined;
}else if(eA.disabled){eC=ef;
eB=undefined;
}else if(eA.pressed){eC=cu;
eB=dm;
}else if(eA.checked){eC=bx;
eB=undefined;
}else if(eA.hovered){eC=bK;
eB=dm;
}else if(eA.preselected&&eA.focused&&!eA.inner){eC=dB;
eB=dm;
}else if(eA.preselected){eC=j;
eB=dm;
}else if(eA.focused&&!eA.inner){eC=ep;
eB=undefined;
}else{eC=dJ;
eB=undefined;
}return {decorator:eC,textColor:eB,shadow:eA.invalid&&!eA.disabled?cx:undefined};
}},"button-frame/image":{style:function(eD){return {opacity:!eD.replacement&&eD.disabled?0.5:1};
}},"button":{alias:dN,include:dN,style:function(eE){return {padding:[2,8],center:true};
}},"hover-button":{alias:dM,include:dM,style:function(eF){return {decorator:eF.hovered?dE:undefined,textColor:eF.hovered?dH:undefined};
}},"splitbutton":{},"splitbutton/button":dJ,"splitbutton/arrow":{alias:dJ,include:dJ,style:function(eG){return {icon:ck,padding:2,marginLeft:1};
}},"checkbox":{alias:dM,style:function(eH){var eJ;
if(eH.checked){if(eH.disabled){eJ=ej;
}else if(eH.focused){eJ=dw;
}else if(eH.pressed){eJ=cq;
}else if(eH.hovered){eJ=B;
}else{eJ=ej;
}}else if(eH.undetermined){if(eH.disabled){eJ=es;
}else if(eH.focused){eJ=bQ;
}else if(eH.hovered){eJ=bG;
}else{eJ=es;
}}else if(!eH.disabled){if(eH.focused){eJ=cp;
}else if(eH.pressed){eJ=ds;
}else if(eH.hovered){eJ=cy;
}}eJ=eJ||m;
var eI=eH.invalid&&!eH.disabled?G:H;
return {icon:K+eJ+eI+bk,gap:6};
}},"radiobutton":{alias:dM,style:function(eK){var eM;

if(eK.checked&&eK.focused){eM=bf;
}else if(eK.checked&&eK.disabled){eM=cP;
}else if(eK.checked&&eK.pressed){eM=cR;
}else if(eK.checked&&eK.hovered){eM=bd;
}else if(eK.checked){eM=cV;
}else if(eK.focused){eM=bh;
}else if(eK.pressed){eM=cK;
}else if(eK.hovered){eM=bz;
}else{eM=di;
}var eL=eK.invalid&&!eK.disabled?G:H;
return {icon:K+eM+eL+bk,gap:6};
}},"textfield":{style:function(eN){var eS;
var eQ=!!eN.focused;
var eR=!!eN.invalid;
var eO=!!eN.disabled;

if(eQ&&eR&&!eO){eS=dV;
}else if(eQ&&!eR&&!eO){eS=dQ;
}else if(eO){eS=cf;
}else if(!eQ&&eR&&!eO){eS=ci;
}else{eS=ch;
}var eP;

if(eN.disabled){eP=cm;
}else if(eN.showingPlaceholder){eP=ca;
}else{eP=er;
}return {decorator:eS,padding:[2,4,1],textColor:eP};
}},"textarea":{include:dn,style:function(eT){return {padding:4};
}},"spinner":{style:function(eU){var eY;
var eW=!!eU.focused;
var eX=!!eU.invalid;
var eV=!!eU.disabled;

if(eW&&eX&&!eV){eY=dV;
}else if(eW&&!eX&&!eV){eY=dQ;
}else if(eV){eY=cf;
}else if(!eW&&eX&&!eV){eY=ci;
}else{eY=ch;
}return {decorator:eY};
}},"spinner/textfield":{style:function(fa){return {marginRight:2,padding:[2,4,1],textColor:fa.disabled?cm:er};
}},"spinner/upbutton":{alias:dN,include:dN,style:function(fb){return {icon:Q,padding:fb.pressed?[2,2,0,4]:[1,3,1,3],shadow:undefined};
}},"spinner/downbutton":{alias:dN,include:dN,style:function(fc){return {icon:br,padding:fc.pressed?[2,2,0,4]:[1,3,1,3],shadow:undefined};
}},"datefield":k,"datefield/button":{alias:s,include:s,style:function(fd){return {icon:de,padding:[0,3],decorator:undefined};
}},"datefield/textfield":dy,"datefield/list":{alias:bo,include:bo,style:function(fe){return {decorator:undefined};
}},"groupbox":{style:function(ff){return {legendPosition:R};
}},"groupbox/legend":{alias:dM,style:function(fg){return {padding:[1,0,1,4],textColor:fg.invalid?dh:n,font:dI};
}},"groupbox/frame":{style:function(fh){return {padding:12,decorator:df};
}},"check-groupbox":cl,"check-groupbox/legend":{alias:m,include:m,style:function(fi){return {padding:[1,0,1,4],textColor:fi.invalid?dh:n,font:dI};
}},"radio-groupbox":cl,"radio-groupbox/legend":{alias:di,include:di,style:function(fj){return {padding:[1,0,1,4],textColor:fj.invalid?dh:n,font:dI};
}},"scrollarea":{style:function(fk){return {minWidth:50,minHeight:50};
}},"scrollarea/corner":{style:function(fl){return {backgroundColor:dq};
}},"scrollarea/pane":dL,"scrollarea/scrollbar-x":dk,"scrollarea/scrollbar-y":dk,"scrollbar":{style:function(fm){if(fm[cz]){return {};
}return {width:fm.horizontal?undefined:16,height:fm.horizontal?16:undefined,decorator:fm.horizontal?bP:ed,padding:1};
}},"scrollbar/slider":{alias:cb,style:function(fn){return {padding:fn.horizontal?[0,1,0,1]:[1,0,1,0]};
}},"scrollbar/slider/knob":{include:dN,style:function(fo){var fp=fo.horizontal?ek:y;

if(fo.disabled){fp+=bO;
}return {decorator:fp,minHeight:fo.horizontal?undefined:9,minWidth:fo.horizontal?9:undefined};
}},"scrollbar/button":{alias:dN,include:dN,style:function(fq){var fr=bL;

if(fq.left){fr+=dD;
}else if(fq.right){fr+=bF;
}else if(fq.up){fr+=h;
}else{fr+=cd;
}
if(fq.left||fq.right){return {padding:[0,0,0,fq.left?3:4],icon:fr,width:15,height:14};
}else{return {padding:[0,0,0,2],icon:fr,width:14,height:15};
}}},"scrollbar/button-begin":q,"scrollbar/button-end":q,"slider":{style:function(fs){var fw;
var fu=!!fs.focused;
var fv=!!fs.invalid;
var ft=!!fs.disabled;

if(fu&&fv&&!ft){fw=dV;
}else if(fu&&!fv&&!ft){fw=dQ;
}else if(ft){fw=cf;
}else if(!fu&&fv&&!ft){fw=ci;
}else{fw=ch;
}return {decorator:fw};
}},"slider/knob":{include:dN,style:function(fx){return {decorator:fx.disabled?cw:ek,shadow:undefined,height:14,width:14};
}},"list":{alias:ec,style:function(fy){var fC;
var fA=!!fy.focused;
var fB=!!fy.invalid;
var fz=!!fy.disabled;

if(fA&&fB&&!fz){fC=dV;
}else if(fA&&!fB&&!fz){fC=dQ;
}else if(fz){fC=cf;
}else if(!fA&&fB&&!fz){fC=ci;
}else{fC=ch;
}return {backgroundColor:co,decorator:fC};
}},"list/pane":dL,"listitem":{alias:dM,style:function(fD){var fE;

if(fD.dragover){fE=fD.selected?eg:eb;
}else{fE=fD.selected?dE:undefined;
}return {padding:fD.dragover?[4,4,2,4]:4,textColor:fD.selected?dH:undefined,decorator:fE};
}},"slidebar":{},"slidebar/scrollpane":{},"slidebar/content":{},"slidebar/button-forward":{alias:dN,include:dN,style:function(fF){return {padding:5,center:true,icon:fF.vertical?ck:dr};
}},"slidebar/button-backward":{alias:dN,include:dN,style:function(fG){return {padding:5,center:true,icon:fG.vertical?L:eq};
}},"tabview":{style:function(fH){return {contentPadding:16};
}},"tabview/bar":{alias:bv,style:function(fI){var fJ={marginBottom:fI.barTop?-1:0,marginTop:fI.barBottom?-4:0,marginLeft:fI.barRight?-3:0,marginRight:fI.barLeft?-1:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0};

if(fI.barTop||fI.barBottom){fJ.paddingLeft=5;
fJ.paddingRight=7;
}else{fJ.paddingTop=5;
fJ.paddingBottom=7;
}return fJ;
}},"tabview/bar/button-forward":{include:bm,alias:bm,style:function(fK){if(fK.barTop||fK.barBottom){return {marginTop:2,marginBottom:2};
}else{return {marginLeft:2,marginRight:2};
}}},"tabview/bar/button-backward":{include:bp,alias:bp,style:function(fL){if(fL.barTop||fL.barBottom){return {marginTop:2,marginBottom:2};
}else{return {marginLeft:2,marginRight:2};
}}},"tabview/bar/scrollpane":{},"tabview/pane":{style:function(fM){return {decorator:cL,minHeight:100,marginBottom:fM.barBottom?-1:0,marginTop:fM.barTop?-1:0,marginLeft:fM.barLeft?-1:0,marginRight:fM.barRight?-1:0};
}},"tabview-page":dL,"tabview-page/button":{alias:dM,style:function(fN){var fT,fP=0;
var fS=0,fO=0,fQ=0,fR=0;

if(fN.checked){if(fN.barTop){fT=ce;
fP=[6,14];
fQ=fN.firstTab?0:-5;
fR=fN.lastTab?0:-5;
}else if(fN.barBottom){fT=cF;
fP=[6,14];
fQ=fN.firstTab?0:-5;
fR=fN.lastTab?0:-5;
}else if(fN.barRight){fT=bN;
fP=[6,13];
fS=fN.firstTab?0:-5;
fO=fN.lastTab?0:-5;
}else{fT=cN;
fP=[6,13];
fS=fN.firstTab?0:-5;
fO=fN.lastTab?0:-5;
}}else{if(fN.barTop){fT=dd;
fP=[4,10];
fS=4;
fQ=fN.firstTab?5:1;
fR=1;
}else if(fN.barBottom){fT=bH;
fP=[4,10];
fO=4;
fQ=fN.firstTab?5:1;
fR=1;
}else if(fN.barRight){fT=dv;
fP=[4,10];
fR=5;
fS=fN.firstTab?5:1;
fO=1;
fQ=1;
}else{fT=da;
fP=[4,10];
fQ=5;
fS=fN.firstTab?5:1;
fO=1;
fR=1;
}}return {zIndex:fN.checked?10:5,decorator:fT,padding:fP,marginTop:fS,marginBottom:fO,marginLeft:fQ,marginRight:fR,textColor:fN.checked?d:U};
}},"tabview-page/button/label":{alias:cj,style:function(fU){return {padding:[0,1,0,1],margin:fU.focused?0:1,decorator:fU.focused?bA:undefined};
}},"tabview-page/button/close-button":{alias:dM,style:function(fV){return {icon:dt};
}},"toolbar":{style:function(fW){return {decorator:z,spacing:2};
}},"toolbar/part":{style:function(fX){return {decorator:cM,spacing:2};
}},"toolbar/part/container":{style:function(fY){return {paddingLeft:2,paddingRight:2};
}},"toolbar/part/handle":{style:function(ga){return {source:dY,marginLeft:3,marginRight:3};
}},"toolbar-button":{alias:dM,style:function(gb){return {marginTop:2,marginBottom:2,padding:(gb.pressed||gb.checked||gb.hovered)&&!gb.disabled||(gb.disabled&&gb.checked)?3:5,decorator:gb.pressed||(gb.checked&&!gb.hovered)||(gb.checked&&gb.disabled)?cX:gb.hovered&&!gb.disabled?c:undefined};
}},"toolbar-menubutton":{alias:dS,include:dS,style:function(gc){return {showArrow:true};
}},"toolbar-menubutton/arrow":{alias:dG,include:dG,style:function(gd){return {source:br};
}},"toolbar-splitbutton":{style:function(ge){return {marginTop:2,marginBottom:2};
}},"toolbar-splitbutton/button":{alias:dS,include:dS,style:function(gf){return {icon:ck,marginTop:undefined,marginBottom:undefined};
}},"toolbar-splitbutton/arrow":{alias:dS,include:dS,style:function(gg){if(gg.pressed||gg.checked||(gg.hovered&&!gg.disabled)){var gh=1;
}else{var gh=3;
}return {padding:gh,icon:ck,marginTop:undefined,marginBottom:undefined};
}},"toolbar-separator":{style:function(gi){return {decorator:cG,margin:7};
}},"tree":dP,"tree-item":{style:function(gj){return {padding:[2,6],textColor:gj.selected?dH:undefined,decorator:gj.selected?dE:undefined};
}},"tree-item/icon":{include:dG,style:function(gk){return {paddingRight:5};
}},"tree-item/label":cj,"tree-item/open":{include:dG,style:function(gl){var gm;

if(gl.selected&&gl.opened){gm=cY;
}else if(gl.selected&&!gl.opened){gm=f;
}else if(gl.opened){gm=bl;
}else{gm=el;
}return {padding:[0,5,0,2],source:gm};
}},"tree-folder":{include:dW,alias:dW,style:function(gn){var gp,go;

if(gn.small){gp=gn.opened?o:t;
go=o;
}else if(gn.large){gp=gn.opened?O:cH;
go=O;
}else{gp=gn.opened?J:bT;
go=J;
}return {icon:gp,iconOpened:go};
}},"tree-file":{include:dW,alias:dW,style:function(gq){return {icon:gq.small?M:gq.large?cC:ea};
}},"treevirtual":I,"treevirtual-folder":{style:function(gr){return {icon:gr.opened?o:t};
}},"treevirtual-file":{include:bj,alias:bj,style:function(gs){return {icon:M};
}},"treevirtual-line":{style:function(gt){return {icon:p};
}},"treevirtual-contract":{style:function(gu){return {icon:bl,paddingLeft:5,paddingTop:2};
}},"treevirtual-expand":{style:function(gv){return {icon:el,paddingLeft:5,paddingTop:2};
}},"treevirtual-only-contract":dX,"treevirtual-only-expand":dp,"treevirtual-start-contract":dX,"treevirtual-start-expand":dp,"treevirtual-end-contract":dX,"treevirtual-end-expand":dp,"treevirtual-cross-contract":dX,"treevirtual-cross-expand":dp,"treevirtual-end":{style:function(gw){return {icon:p};
}},"treevirtual-cross":{style:function(gx){return {icon:p};
}},"tooltip":{include:dR,style:function(gy){return {backgroundColor:bM,padding:[1,3,2,3],offset:[15,5,5,5]};
}},"tooltip/atom":dM,"tooltip-error":{include:dO,style:function(gz){return {textColor:dH,placeMethod:dL,offset:[0,0,0,14],marginTop:-2,position:l,showTimeout:100,hideTimeout:10000,decorator:bI,shadow:bw,font:dI};
}},"tooltip-error/atom":dM,"window":{style:function(gA){return {shadow:bD,contentPadding:[10,10,10,10]};
}},"window/pane":{style:function(gB){return {decorator:bW};
}},"window/captionbar":{style:function(gC){return {decorator:gC.active?A:cJ,textColor:gC.active?cg:bX,minHeight:26,paddingRight:2};
}},"window/icon":{style:function(gD){return {margin:[5,0,3,6]};
}},"window/title":{style:function(gE){return {alignY:dF,font:dI,marginLeft:6,marginRight:12};
}},"window/minimize-button":{alias:dM,style:function(gF){return {icon:gF.active?gF.hovered?cE:du:cW,margin:[4,8,2,0]};
}},"window/restore-button":{alias:dM,style:function(gG){return {icon:gG.active?gG.hovered?be:E:dx,margin:[5,8,2,0]};
}},"window/maximize-button":{alias:dM,style:function(gH){return {icon:gH.active?gH.hovered?by:bU:ei,margin:[4,8,2,0]};
}},"window/close-button":{alias:dM,style:function(gI){return {icon:gI.active?gI.hovered?dA:cA:cO,margin:[4,8,2,0]};
}},"window/statusbar":{style:function(gJ){return {padding:[2,6],decorator:bJ,minHeight:18};
}},"window/statusbar-text":{style:function(gK){return {font:S};
}},"iframe":{style:function(gL){return {decorator:dK};
}},"resizer":{style:function(gM){return {decorator:dg};
}},"splitpane":{style:function(gN){return {decorator:dz};
}},"splitpane/splitter":{style:function(gO){return {width:gO.horizontal?3:undefined,height:gO.vertical?3:undefined,backgroundColor:bn};
}},"splitpane/splitter/knob":{style:function(gP){return {source:gP.horizontal?bs:cT};
}},"splitpane/slider":{style:function(gQ){return {width:gQ.horizontal?3:undefined,height:gQ.vertical?3:undefined,backgroundColor:bn};
}},"selectbox":{alias:dN,include:dN,style:function(gR){return {padding:[2,8]};
}},"selectbox/atom":dM,"selectbox/popup":dR,"selectbox/list":{alias:dP},"selectbox/arrow":{include:dG,style:function(gS){return {source:ck,paddingLeft:5};
}},"datechooser":{style:function(gT){var gX;
var gV=!!gT.focused;
var gW=!!gT.invalid;
var gU=!!gT.disabled;

if(gV&&gW&&!gU){gX=dV;
}else if(gV&&!gW&&!gU){gX=dQ;
}else if(gU){gX=cf;
}else if(!gV&&gW&&!gU){gX=ci;
}else{gX=ch;
}return {padding:2,decorator:gX,backgroundColor:co};
}},"datechooser/navigation-bar":{},"datechooser/nav-button":{include:dN,alias:dN,style:function(gY){var ha={padding:[2,4],shadow:undefined};

if(gY.lastYear){ha.icon=cr;
ha.marginRight=1;
}else if(gY.lastMonth){ha.icon=eq;
}else if(gY.nextYear){ha.icon=x;
ha.marginLeft=1;
}else if(gY.nextMonth){ha.icon=dr;
}return ha;
}},"datechooser/last-year-button-tooltip":dO,"datechooser/last-month-button-tooltip":dO,"datechooser/next-year-button-tooltip":dO,"datechooser/next-month-button-tooltip":dO,"datechooser/last-year-button":dj,"datechooser/last-month-button":dj,"datechooser/next-month-button":dj,"datechooser/next-year-button":dj,"datechooser/month-year-label":{style:function(hb){return {font:dI,textAlign:dl,textColor:hb.disabled?cm:undefined};
}},"datechooser/date-pane":{style:function(hc){return {textColor:hc.disabled?cm:undefined,marginTop:2};
}},"datechooser/weekday":{style:function(hd){return {textColor:hd.disabled?cm:hd.weekend?eo:undefined,textAlign:dl,paddingTop:2,backgroundColor:P};
}},"datechooser/week":{style:function(he){return {textAlign:dl,padding:[2,4],backgroundColor:P};
}},"datechooser/day":{style:function(hf){return {textAlign:dl,decorator:hf.disabled?undefined:hf.selected?dE:undefined,textColor:hf.disabled?cm:hf.selected?dH:hf.otherMonth?eo:undefined,font:hf.today?dI:undefined,padding:[2,4]};
}},"combobox":{style:function(hg){var hk;
var hi=!!hg.focused;
var hj=!!hg.invalid;
var hh=!!hg.disabled;

if(hi&&hj&&!hh){hk=dV;
}else if(hi&&!hj&&!hh){hk=dQ;
}else if(hh){hk=cf;
}else if(!hi&&hj&&!hh){hk=ci;
}else{hk=ch;
}return {decorator:hk};
}},"combobox/popup":dR,"combobox/list":{alias:dP},"combobox/button":{include:dN,alias:dN,style:function(hl){var hm={icon:ck,padding:2};

if(hl.selected){hm.decorator=ep;
}return hm;
}},"combobox/textfield":{include:dn,style:function(hn){return {decorator:undefined};
}},"menu":{style:function(ho){var hp={decorator:X,shadow:N,spacingX:6,spacingY:1,iconColumnWidth:16,arrowColumnWidth:4,placementModeY:ho.submenu||ho.contextmenu?g:cc};

if(ho.submenu){hp.position=l;
hp.offset=[-2,-3];
}return hp;
}},"menu/slidebar":db,"menu-slidebar":dL,"menu-slidebar-button":{style:function(hq){return {decorator:hq.hovered?dE:undefined,padding:7,center:true};
}},"menu-slidebar/button-backward":{include:en,style:function(hr){return {icon:hr.hovered?F:L};
}},"menu-slidebar/button-forward":{include:en,style:function(hs){return {icon:hs.hovered?bg:ck};
}},"menu-separator":{style:function(ht){return {height:0,decorator:bS,margin:[4,2]};
}},"menu-button":{alias:dM,style:function(hu){return {decorator:hu.selected?dE:undefined,textColor:hu.selected?dH:undefined,padding:[4,6]};
}},"menu-button/icon":{include:dG,style:function(hv){return {alignY:dF};
}},"menu-button/label":{include:cj,style:function(hw){return {alignY:dF,padding:1};
}},"menu-button/shortcut":{include:cj,style:function(hx){return {alignY:dF,marginLeft:14,padding:1};
}},"menu-button/arrow":{include:dG,style:function(hy){return {source:hy.selected?bV:dr,alignY:dF};
}},"menu-checkbox":{alias:dU,include:dU,style:function(hz){return {icon:!hz.checked?undefined:hz.selected?ee:cB};
}},"menu-radiobutton":{alias:dU,include:dU,style:function(hA){return {icon:!hA.checked?undefined:hA.selected?bY:w};
}},"menubar":{style:function(hB){return {decorator:cD};
}},"menubar-button":{alias:dM,style:function(hC){return {decorator:(hC.pressed||hC.hovered)&&!hC.disabled?dE:undefined,textColor:hC.pressed||hC.hovered?dH:undefined,padding:[3,8]};
}},"colorselector":dL,"colorselector/control-bar":dL,"colorselector/control-pane":dL,"colorselector/visual-pane":cl,"colorselector/preset-grid":dL,"colorselector/colorbucket":{style:function(hD){return {decorator:dK,width:16,height:16};
}},"colorselector/preset-field-set":cl,"colorselector/input-field-set":cl,"colorselector/preview-field-set":cl,"colorselector/hex-field-composite":dL,"colorselector/hex-field":dn,"colorselector/rgb-spinner-composite":dL,"colorselector/rgb-spinner-red":dT,"colorselector/rgb-spinner-green":dT,"colorselector/rgb-spinner-blue":dT,"colorselector/hsb-spinner-composite":dL,"colorselector/hsb-spinner-hue":dT,"colorselector/hsb-spinner-saturation":dT,"colorselector/hsb-spinner-brightness":dT,"colorselector/preview-content-old":{style:function(hE){return {decorator:dK,width:50,height:10};
}},"colorselector/preview-content-new":{style:function(hF){return {decorator:dK,backgroundColor:co,width:50,height:10};
}},"colorselector/hue-saturation-field":{style:function(hG){return {decorator:dK,margin:5};
}},"colorselector/brightness-field":{style:function(hH){return {decorator:dK,margin:[5,7]};
}},"colorselector/hue-saturation-pane":dL,"colorselector/hue-saturation-handle":dL,"colorselector/brightness-pane":dL,"colorselector/brightness-handle":dL,"colorpopup":{alias:dR,include:dR,style:function(hI){return {padding:5,backgroundColor:dq};
}},"colorpopup/field":{style:function(hJ){return {decorator:dK,margin:2,width:14,height:14,backgroundColor:co};
}},"colorpopup/selector-button":dJ,"colorpopup/auto-button":dJ,"colorpopup/preview-pane":cl,"colorpopup/current-preview":{style:function(hK){return {height:20,padding:4,marginLeft:4,decorator:dK,allowGrowX:true};
}},"colorpopup/selected-preview":{style:function(hL){return {height:20,padding:4,marginRight:4,decorator:dK,allowGrowX:true};
}},"colorpopup/colorselector-okbutton":{alias:dJ,include:dJ,style:function(hM){return {icon:cs};
}},"colorpopup/colorselector-cancelbutton":{alias:dJ,include:dJ,style:function(hN){return {icon:dc};
}},"table":{alias:dL,style:function(hO){return {decorator:I};
}},"table-header":{},"table/statusbar":{style:function(hP){return {decorator:cQ,padding:[0,2]};
}},"table/column-button":{alias:dN,style:function(hQ){return {decorator:bE,padding:3,icon:a};
}},"table-column-reset-button":{include:dU,alias:dU,style:function(){return {icon:dC};
}},"table-scroller":dL,"table-scroller/scrollbar-x":dk,"table-scroller/scrollbar-y":dk,"table-scroller/header":{style:function(hR){return {decorator:cv};
}},"table-scroller/pane":{style:function(hS){return {backgroundColor:ct};
}},"table-scroller/focus-indicator":{style:function(hT){return {decorator:bB};
}},"table-scroller/resize-line":{style:function(hU){return {backgroundColor:eh,width:2};
}},"table-header-cell":{alias:dM,style:function(hV){return {minWidth:13,minHeight:20,padding:hV.hovered?[3,4,2,4]:[3,4],decorator:hV.hovered?bc:Y,sortIcon:hV.sorted?(hV.sortedAscending?cU:u):undefined};
}},"table-header-cell/label":{style:function(hW){return {minWidth:0,alignY:dF,paddingRight:5};
}},"table-header-cell/sort-icon":{style:function(hX){return {alignY:dF,alignX:r};
}},"table-header-cell/icon":{style:function(hY){return {minWidth:0,alignY:dF,paddingRight:5};
}},"table-editor-textfield":{include:dn,style:function(ia){return {decorator:undefined,padding:[2,2],backgroundColor:co};
}},"table-editor-selectbox":{include:bi,alias:bi,style:function(ib){return {padding:[0,2],backgroundColor:co};
}},"table-editor-combobox":{include:k,alias:k,style:function(ic){return {decorator:undefined,backgroundColor:co};
}},"progressive-table-header":{alias:dL,style:function(id){return {decorator:b};
}},"progressive-table-header-cell":{alias:dM,style:function(ie){return {minWidth:40,minHeight:25,paddingLeft:6,decorator:bR};
}},"app-header":{style:function(ig){return {font:dI,textColor:dH,padding:[8,12],decorator:W};
}},"virtual-list":dP,"virtual-list/row-layer":V,"row-layer":{style:function(ih){return {colorEven:cg,colorOdd:cg};
}},"group-item":{include:cj,alias:cj,style:function(ii){return {padding:4,decorator:bt,textColor:cg,font:dI};
}},"column-layer":dL,"cell":{style:function(ij){return {textColor:ij.selected?dH:em,padding:[3,6],font:bq};
}},"cell-string":cn,"cell-number":{include:cn,style:function(ik){return {textAlign:r};
}},"cell-image":cn,"cell-boolean":{include:cn,style:function(il){return {iconTrue:ba,iconFalse:cI};
}},"cell-atom":cn,"cell-date":cn,"cell-html":cn,"htmlarea":{"include":dL,style:function(im){return {backgroundColor:cg};
}},"progressbar":{style:function(io){return {decorator:v,padding:[1],backgroundColor:cg};
}},"progressbar/progress":{style:function(ip){return {decorator:dE};
}}}});
})();
(function(){var n="datechooser",m="combobox/button",l="window",k="combobox/textfield",j="images/decoration/window/help-inactive.png",i="combobox",h="watchee appearance theme",g="atom-dummy",f="images/decoration/window/help-active.png",e="track.theme.Appearance",b="icon/16/apps/preferences-clock.png",d="main",c="images/decoration/window/help-active-hovered.png",a="atom";
qx.Theme.define(e,{extend:qx.theme.modern.Appearance,title:h,appearances:{"watcheewindow":l,"watcheewindow/help-button":{alias:a,style:function(o){return {icon:o.active?o.hovered?c:f:j,margin:[4,8,2,0]};
}},"watcheetimefield":i,"watcheetimefield/button":{alias:m,include:m,style:function(p){return {icon:b,padding:[0,3],decorator:undefined};
}},"watcheetimefield/textfield":k,"watcheetimefield/list":{alias:n,include:n,style:function(q){return {decorator:undefined};
}},"checkbox/icon":{style:function(r){return {opacity:!r.replacement&&r.disabled?0.95:1};
}},"my-widget-dummy":{alias:g,style:function(s){return {width:250,decorator:d};
}}}});
})();
(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 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 i="Number",h="_applyInsets",g="abstract",f="insetRight",e="insetTop",d="insetBottom",c="qx.ui.decoration.Abstract",b="shorthand",a="insetLeft";
qx.Class.define(c,{extend:qx.core.Object,implement:[qx.ui.decoration.IDecorator],type:g,properties:{insetLeft:{check:i,nullable:true,apply:h},insetRight:{check:i,nullable:true,apply:h},insetBottom:{check:i,nullable:true,apply:h},insetTop:{check:i,nullable:true,apply:h},insets:{group:[e,f,d,a],mode:b}},members:{__wr:null,_getDefaultInsets:function(){throw new Error("Abstract method called.");
},_isInitialized:function(){throw new Error("Abstract method called.");
},_resetInsets:function(){this.__wr=null;
},getInsets:function(){if(this.__wr){return this.__wr;
}var j=this._getDefaultInsets();
return this.__wr={left:this.getInsetLeft()==null?j.left:this.getInsetLeft(),right:this.getInsetRight()==null?j.right:this.getInsetRight(),bottom:this.getInsetBottom()==null?j.bottom:this.getInsetBottom(),top:this.getInsetTop()==null?j.top:this.getInsetTop()};
},_applyInsets:function(){{};
this.__wr=null;
}},destruct:function(){this.__wr=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 j="_applyStyle",i="solid",h="Color",g="",f="double",e="px",d="px ",c="dotted",b="_applyWidth",a="dashed",E="Number",D=" ",C="shorthand",B="widthTop",A="styleRight",z="styleLeft",y="widthLeft",x="widthBottom",w="styleTop",v="colorBottom",q="styleBottom",r="widthRight",o="colorLeft",p="colorRight",m="colorTop",n="border-top",k="border-left",l="border-right",s="qx.ui.decoration.Single",t="border-bottom",u="absolute";
qx.Class.define(s,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(F,G,H){qx.ui.decoration.Abstract.call(this);
if(F!=null){this.setWidth(F);
}
if(G!=null){this.setStyle(G);
}
if(H!=null){this.setColor(H);
}},properties:{widthTop:{check:E,init:0,apply:b},widthRight:{check:E,init:0,apply:b},widthBottom:{check:E,init:0,apply:b},widthLeft:{check:E,init:0,apply:b},styleTop:{nullable:true,check:[i,c,a,f],init:i,apply:j},styleRight:{nullable:true,check:[i,c,a,f],init:i,apply:j},styleBottom:{nullable:true,check:[i,c,a,f],init:i,apply:j},styleLeft:{nullable:true,check:[i,c,a,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:[y,z,o]},right:{group:[r,A,p]},top:{group:[B,w,m]},bottom:{group:[x,q,v]},width:{group:[B,r,x,y],mode:C},style:{group:[w,A,q,z],mode:C},color:{group:[m,p,v,o],mode:C}},members:{__ws:null,_getDefaultInsets:function(){return {top:this.getWidthTop(),right:this.getWidthRight(),bottom:this.getWidthBottom(),left:this.getWidthLeft()};
},_isInitialized:function(){return !!this.__ws;
},getMarkup:function(I){if(this.__ws){return this.__ws;
}var J=qx.theme.manager.Color.getInstance();
var K={};
var M=this.getWidthTop();

if(M>0){K[n]=M+d+this.getStyleTop()+D+(J.resolve(this.getColorTop())||g);
}var M=this.getWidthRight();

if(M>0){K[l]=M+d+this.getStyleRight()+D+(J.resolve(this.getColorRight())||g);
}var M=this.getWidthBottom();

if(M>0){K[t]=M+d+this.getStyleBottom()+D+(J.resolve(this.getColorBottom())||g);
}var M=this.getWidthLeft();

if(M>0){K[k]=M+d+this.getStyleLeft()+D+(J.resolve(this.getColorLeft())||g);
}{};
K.position=u;
K.top=0;
K.left=0;
var L=this._generateBackgroundMarkup(K);
return this.__ws=L;
},resize:function(N,O,P){var Q=this.getInsets();
O-=Q.left+Q.right;
P-=Q.top+Q.bottom;
if(O<0){O=0;
}
if(P<0){P=0;
}N.style.width=O+e;
N.style.height=P+e;
N.style.left=(parseInt(N.style.left,10)+Q.left-this.getWidthLeft())+e;
N.style.top=(parseInt(N.style.top,10)+Q.top-this.getWidthTop())+e;
},tint:function(R,S){var T=qx.theme.manager.Color.getInstance();

if(S==null){S=this.getBackgroundColor();
}R.style.backgroundColor=T.resolve(S)||g;
},_applyWidth:function(){{};
this._resetInsets();
},_applyStyle:function(){{};
}},destruct:function(){this.__ws=null;
}});
})();
(function(){var f="px",e="qx.ui.decoration.Background",d="",c="_applyStyle",b="Color",a="absolute";
qx.Class.define(e,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(g){qx.ui.decoration.Abstract.call(this);

if(g!=null){this.setBackgroundColor(g);
}},properties:{backgroundColor:{check:b,nullable:true,apply:c}},members:{__wt:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__wt;
},getMarkup:function(){if(this.__wt){return this.__wt;
}var h={position:a,top:0,left:0};
var i=this._generateBackgroundMarkup(h);
return this.__wt=i;
},resize:function(j,k,l){var m=this.getInsets();
j.style.width=(k-m.left-m.right)+f;
j.style.height=(l-m.top-m.bottom)+f;
j.style.left=-m.left+f;
j.style.top=-m.top+f;
},tint:function(n,o){var p=qx.theme.manager.Color.getInstance();

if(o==null){o=this.getBackgroundColor();
}n.style.backgroundColor=p.resolve(o)||d;
},_applyStyle:function(){{};
}},destruct:function(){this.__wt=null;
}});
})();
(function(){var j="_applyStyle",i='"></div>',h="Color",g="1px",f='<div style="',e='border:',d="1px solid ",c="",b=";",a="px",v='</div>',u="qx.ui.decoration.Beveled",t='<div style="position:absolute;top:1px;left:1px;',s='border-bottom:',r='border-right:',q='border-left:',p='border-top:',o="Number",n='<div style="position:absolute;top:1px;left:0px;',m='position:absolute;top:0px;left:1px;',k='<div style="overflow:hidden;font-size:0;line-height:0;">',l="absolute";
qx.Class.define(u,{extend:qx.ui.decoration.Abstract,include:[qx.ui.decoration.MBackgroundImage],construct:function(w,x,y){qx.ui.decoration.Abstract.call(this);
if(w!=null){this.setOuterColor(w);
}
if(x!=null){this.setInnerColor(x);
}
if(y!=null){this.setInnerOpacity(y);
}},properties:{innerColor:{check:h,nullable:true,apply:j},innerOpacity:{check:o,init:1,apply:j},outerColor:{check:h,nullable:true,apply:j},backgroundColor:{check:h,nullable:true,apply:j}},members:{__wu:null,_getDefaultInsets:function(){return {top:2,right:2,bottom:2,left:2};
},_isInitialized:function(){return !!this.__wu;
},_applyStyle:function(){{};
},getMarkup:function(){if(this.__wu){return this.__wu;
}var z=qx.theme.manager.Color.getInstance();
var A=[];
var D=d+z.resolve(this.getOuterColor())+b;
var C=d+z.resolve(this.getInnerColor())+b;
A.push(k);
A.push(f);
A.push(e,D);
A.push(qx.bom.element.Opacity.compile(0.35));
A.push(i);
A.push(n);
A.push(q,D);
A.push(r,D);
A.push(qx.bom.element.Opacity.compile(1));
A.push(i);
A.push(f);
A.push(m);
A.push(p,D);
A.push(s,D);
A.push(qx.bom.element.Opacity.compile(1));
A.push(i);
var B={position:l,top:g,left:g,opacity:1};
A.push(this._generateBackgroundMarkup(B));
A.push(t);
A.push(e,C);
A.push(qx.bom.element.Opacity.compile(this.getInnerOpacity()));
A.push(i);
A.push(v);
return this.__wu=A.join(c);
},resize:function(E,F,G){if(F<4){F=4;
}
if(G<4){G=4;
}if(qx.bom.client.Feature.CONTENT_BOX){var outerWidth=F-2;
var outerHeight=G-2;
var M=outerWidth;
var L=outerHeight;
var innerWidth=F-4;
var innerHeight=G-4;
}else{var outerWidth=F;
var outerHeight=G;
var M=F-2;
var L=G-2;
var innerWidth=M;
var innerHeight=L;
}var O=a;
var K=E.childNodes[0].style;
K.width=outerWidth+O;
K.height=outerHeight+O;
var J=E.childNodes[1].style;
J.width=outerWidth+O;
J.height=L+O;
var I=E.childNodes[2].style;
I.width=M+O;
I.height=outerHeight+O;
var H=E.childNodes[3].style;
H.width=M+O;
H.height=L+O;
var N=E.childNodes[4].style;
N.width=innerWidth+O;
N.height=innerHeight+O;
},tint:function(P,Q){var R=qx.theme.manager.Color.getInstance();

if(Q==null){Q=this.getBackgroundColor();
}P.childNodes[3].style.backgroundColor=R.resolve(Q)||c;
}},destruct:function(){this.__wu=null;
}});
})();
(function(){var o="_applyStyle",n="",m="Color",l="px",k="solid",j="dotted",i="double",h="dashed",g="_applyWidth",f="qx.ui.decoration.Uniform",c="px ",e=" ",d="scale",b="PositiveInteger",a="absolute";
qx.Class.define(f,{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.setWidth(p);
}
if(q!=null){this.setStyle(q);
}
if(r!=null){this.setColor(r);
}},properties:{width:{check:b,init:0,apply:g},style:{nullable:true,check:[k,j,h,i],init:k,apply:o},color:{nullable:true,check:m,apply:o},backgroundColor:{check:m,nullable:true,apply:o}},members:{__wv:null,_getDefaultInsets:function(){var s=this.getWidth();
return {top:s,right:s,bottom:s,left:s};
},_isInitialized:function(){return !!this.__wv;
},getMarkup:function(){if(this.__wv){return this.__wv;
}var t={position:a,top:0,left:0};
var u=this.getWidth();
{};
var w=qx.theme.manager.Color.getInstance();
t.border=u+c+this.getStyle()+e+(w.resolve(this.getColor())||n);
var v=this._generateBackgroundMarkup(t);
return this.__wv=v;
},resize:function(x,y,z){var B=this.getBackgroundImage()&&this.getBackgroundRepeat()==d;

if(B||qx.bom.client.Feature.CONTENT_BOX){var A=this.getWidth()*2;
y-=A;
z-=A;
if(y<0){y=0;
}
if(z<0){z=0;
}}x.style.width=y+l;
x.style.height=z+l;
},tint:function(C,D){var E=qx.theme.manager.Color.getInstance();

if(D==null){D=this.getBackgroundColor();
}C.style.backgroundColor=E.resolve(D)||n;
},_applyWidth:function(){{};
this._resetInsets();
},_applyStyle:function(){{};
}},destruct:function(){this.__wv=null;
}});
})();
(function(){var m="Number",l="_applyInsets",k="-l",j="insetRight",i="insetTop",h="_applyBaseImage",g="insetBottom",f="set",e="shorthand",d="-t",a="insetLeft",c="String",b="qx.ui.decoration.Grid";
qx.Class.define(b,{extend:qx.core.Object,implement:[qx.ui.decoration.IDecorator],construct:function(n,o){qx.core.Object.call(this);

if(qx.ui.decoration.css3.BorderImage.IS_SUPPORTED){this.__ww=new qx.ui.decoration.css3.BorderImage();

if(n){this.__wx(n);
}}else{this.__ww=new qx.ui.decoration.GridDiv(n);
}
if(o!=null){this.__ww.setInsets(o);
}},properties:{baseImage:{check:c,nullable:true,apply:h},insetLeft:{check:m,nullable:true,apply:l},insetRight:{check:m,nullable:true,apply:l},insetBottom:{check:m,nullable:true,apply:l},insetTop:{check:m,nullable:true,apply:l},insets:{group:[i,j,g,a],mode:e}},members:{__ww:null,getMarkup:function(){return this.__ww.getMarkup();
},resize:function(p,q,r){this.__ww.resize(p,q,r);
},tint:function(s,t){},getInsets:function(){return this.__ww.getInsets();
},_applyInsets:function(u,v,name){var w=f+qx.lang.String.firstUp(name);
this.__ww[w](u);
},_applyBaseImage:function(x,y){if(this.__ww instanceof qx.ui.decoration.GridDiv){this.__ww.setBaseImage(x);
}else{this.__wx(x);
}},__wx:function(z){var B,D;
this.__ww.setBorderImage(z);
var F=qx.util.AliasManager.getInstance().resolve(z);
var G=/(.*)(\.[a-z]+)$/.exec(F);
var C=G[1];
var E=G[2];
var A=qx.util.ResourceManager.getInstance();
var H=A.getImageHeight(C+d+E);
var I=A.getImageWidth(C+k+E);
{};
this.__ww.setSlice([H,I]);
}},destruct:function(){this.__ww=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-input",bt="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",t="decoration/selection.png",u="decoration/scrollbar/scrollbar-button-bg-vertical.png",r="decoration/tabview/tab-button-top-active.png",s="black",p="decoration/group-item.png",q="decoration/form/button-c.png",n="decoration/scrollbar/scrollbar-bg-vertical.png",o="decoration/form/button.png",B="decoration/form/button-checked.png",C="decoration/tabview/tab-button-left-inactive.png",O="decoration/groupbox/groupbox.png",K="#FAFAFA",W="decoration/pane/pane.png",R="dotted",bg="decoration/toolbar/toolbar-part.gif",bc="decoration/tabview/tab-button-top-inactive.png",G="decoration/menu/bar-background.png",bj="center",bi="decoration/tabview/tab-button-bottom-active.png",bh="decoration/form/button-hovered.png",F="decoration/form/tooltip-error-arrow.png",I="decoration/window/captionbar-inactive.png",J="qx/decoration/Modern",M="decoration/menu/background.png",P="decoration/window/statusbar.png",S="border-focused",Y="table-focus-indicator",be="#F2F2F2",v="decoration/form/button-checked-c.png",w="decoration/scrollbar/scrollbar-bg-horizontal.png",H="qx.theme.modern.Decoration",V="#f4f4f4",U="decoration/shadow/shadow-small.png",T="decoration/app-header.png",bb="decoration/tabview/tabview-pane.png",ba="decoration/form/tooltip-error.png",Q="decoration/form/button-focused.png",X="decoration/tabview/tab-button-bottom-inactive.png",a="decoration/form/button-disabled.png",bd="decoration/tabview/tab-button-right-active.png",x="decoration/form/button-pressed.png",y="no-repeat",L="decoration/window/captionbar-active.png",b="decoration/tabview/tab-button-left-active.png",c="background-splitpane",E="decoration/form/button-checked-focused.png",z="#C5C5C5",A="decoration/toolbar/toolbar-gradient.png",D="decoration/tabview/tab-button-right-inactive.png",N="#b8b8b8",bf="decoration/shadow/shadow.png";
qx.Theme.define(H,{aliases:{decoration:J},decorations:{"main":{decorator:qx.ui.decoration.Uniform,style:{width:1,color:k}},"selected":{decorator:qx.ui.decoration.Background,style:{backgroundImage:t,backgroundRepeat:l}},"selected-dragover":{decorator:qx.ui.decoration.Single,style:{backgroundImage:t,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:W,insets:[0,2,3,0]}},"group":{decorator:qx.ui.decoration.Grid,style:{baseImage:O}},"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:R}},"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:ba,insets:[2,5,5,2]}},"tooltip-error-arrow":{decorator:qx.ui.decoration.Background,style:{backgroundImage:F,backgroundPositionY:bj,backgroundRepeat:y,insets:[0,0,0,10]}},"shadow-window":{decorator:qx.ui.decoration.Grid,style:{baseImage:bf,insets:[4,8,8,4]}},"shadow-popup":{decorator:qx.ui.decoration.Grid,style:{baseImage:U,insets:[0,3,3,0]}},"scrollbar-horizontal":{decorator:qx.ui.decoration.Background,style:{backgroundImage:w,backgroundRepeat:i}},"scrollbar-vertical":{decorator:qx.ui.decoration.Background,style:{backgroundImage:n,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:bt,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:bt,innerColor:j,innerOpacity:0.3}},"button":{decorator:qx.ui.decoration.Grid,style:{baseImage:o,insets:2}},"button-disabled":{decorator:qx.ui.decoration.Grid,style:{baseImage:a,insets:2}},"button-focused":{decorator:qx.ui.decoration.Grid,style:{baseImage:Q,insets:2}},"button-hovered":{decorator:qx.ui.decoration.Grid,style:{baseImage:bh,insets:2}},"button-pressed":{decorator:qx.ui.decoration.Grid,style:{baseImage:x,insets:2}},"button-checked":{decorator:qx.ui.decoration.Grid,style:{baseImage:B,insets:2}},"button-checked-focused":{decorator:qx.ui.decoration.Grid,style:{baseImage:E,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:d,innerColor:j,innerOpacity:0.5,backgroundImage:br,backgroundRepeat:i,backgroundColor:g}},"input-focused":{decorator:qx.ui.decoration.Beveled,style:{outerColor:d,innerColor:S,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:bt,innerColor:j,innerOpacity:0.5,backgroundImage:br,backgroundRepeat:i,backgroundColor:g}},"toolbar":{decorator:qx.ui.decoration.Background,style:{backgroundImage:A,backgroundRepeat:l}},"toolbar-button-hovered":{decorator:qx.ui.decoration.Beveled,style:{outerColor:bo,innerColor:bq,backgroundImage:q,backgroundRepeat:l}},"toolbar-button-checked":{decorator:qx.ui.decoration.Beveled,style:{outerColor:bo,innerColor:bq,backgroundImage:v,backgroundRepeat:l}},"toolbar-separator":{decorator:qx.ui.decoration.Single,style:{widthLeft:1,widthRight:1,colorLeft:N,colorRight:V,styleLeft:m,styleRight:m}},"toolbar-part":{decorator:qx.ui.decoration.Background,style:{backgroundImage:bg,backgroundRepeat:bm}},"tabview-pane":{decorator:qx.ui.decoration.Grid,style:{baseImage:bb,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:bc}},"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:X}},"tabview-page-button-left-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:b}},"tabview-page-button-left-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:C}},"tabview-page-button-right-active":{decorator:qx.ui.decoration.Grid,style:{baseImage:bd}},"tabview-page-button-right-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:D}},"splitpane":{decorator:qx.ui.decoration.Uniform,style:{backgroundColor:bn,width:3,color:c,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:L}},"window-captionbar-inactive":{decorator:qx.ui.decoration.Grid,style:{baseImage:I}},"window-statusbar":{decorator:qx.ui.decoration.Grid,style:{baseImage:P}},"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:Y,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:be,style:m}},"menu":{decorator:qx.ui.decoration.Single,style:{backgroundImage:M,backgroundRepeat:l,width:1,color:k,style:m}},"menu-separator":{decorator:qx.ui.decoration.Single,style:{widthTop:1,colorTop:z,widthBottom:1,colorBottom:K}},"menubar":{decorator:qx.ui.decoration.Single,style:{backgroundImage:G,backgroundRepeat:l,width:1,color:h,style:m}},"app-header":{decorator:qx.ui.decoration.Background,style:{backgroundImage:T,backgroundRepeat:l}},"progressbar":{decorator:qx.ui.decoration.Single,style:{width:1,color:d}},"group-item":{decorator:qx.ui.decoration.Background,style:{backgroundImage:p,backgroundRepeat:l}}}});
})();
(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 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 j="_applyStyle",i="stretch",h="Integer",g="px",f=" ",e="repeat",d="round",c="shorthand",b="px ",a="sliceBottom",y=";'></div>",x="<div style='",w="sliceLeft",v="sliceRight",u="repeatX",t="String",s="qx.ui.decoration.css3.BorderImage",r="border-box",q="",p='") ',n="sliceTop",o='url("',l="hidden",m="repeatY",k="absolute";
qx.Class.define(s,{extend:qx.ui.decoration.Abstract,construct:function(z,A){qx.ui.decoration.Abstract.call(this);
if(z!=null){this.setBorderImage(z);
}
if(A!=null){this.setSlice(A);
}},statics:{IS_SUPPORTED:qx.bom.element.Style.isPropertySupported("borderImage")},properties:{borderImage:{check:t,nullable:true,apply:j},sliceTop:{check:h,init:0,apply:j},sliceRight:{check:h,init:0,apply:j},sliceBottom:{check:h,init:0,apply:j},sliceLeft:{check:h,init:0,apply:j},slice:{group:[n,v,a,w],mode:c},repeatX:{check:[i,e,d],init:i,apply:j},repeatY:{check:[i,e,d],init:i,apply:j},repeat:{group:[u,m],mode:c}},members:{__wy:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__wy;
},getMarkup:function(){if(this.__wy){return this.__wy;
}var B=this._resolveImageUrl(this.getBorderImage());
var C=[this.getSliceTop(),this.getSliceRight(),this.getSliceBottom(),this.getSliceLeft()];
var D=[this.getRepeatX(),this.getRepeatY()].join(f);
this.__wy=[x,qx.bom.element.Style.compile({"borderImage":o+B+p+C.join(f)+f+D,position:k,lineHeight:0,fontSize:0,overflow:l,boxSizing:r,borderWidth:C.join(b)+g}),y].join(q);
return this.__wy;
},resize:function(E,F,G){E.style.width=F+g;
E.style.height=G+g;
},tint:function(H,I){},_applyStyle:function(){{};
},_resolveImageUrl:function(J){return qx.util.ResourceManager.getInstance().toUri(qx.util.AliasManager.getInstance().resolve(J));
}},destruct:function(){this.__wy=null;
}});
})();
(function(){var j="px",i="0px",h="-1px",g="no-repeat",f="scale-x",e="scale-y",d="-tr",c="-l",b='</div>',a="scale",x="qx.client",w="-br",v="-t",u="-tl",t="-r",s='<div style="position:absolute;top:0;left:0;overflow:hidden;font-size:0;line-height:0;">',r="_applyBaseImage",q="-b",p="String",o="",m="-bl",n="qx.ui.decoration.GridDiv",k="-c",l="mshtml";
qx.Class.define(n,{extend:qx.ui.decoration.Abstract,construct:function(y,z){qx.ui.decoration.Abstract.call(this);
if(y!=null){this.setBaseImage(y);
}
if(z!=null){this.setInsets(z);
}},properties:{baseImage:{check:p,nullable:true,apply:r}},members:{__wz:null,__wA:null,__wB:null,_getDefaultInsets:function(){return {top:0,right:0,bottom:0,left:0};
},_isInitialized:function(){return !!this.__wz;
},getMarkup:function(){if(this.__wz){return this.__wz;
}var A=qx.bom.element.Decoration;
var B=this.__wA;
var C=this.__wB;
var D=[];
D.push(s);
D.push(A.create(B.tl,g,{top:0,left:0}));
D.push(A.create(B.t,f,{top:0,left:C.left+j}));
D.push(A.create(B.tr,g,{top:0,right:0}));
D.push(A.create(B.bl,g,{bottom:0,left:0}));
D.push(A.create(B.b,f,{bottom:0,left:C.left+j}));
D.push(A.create(B.br,g,{bottom:0,right:0}));
D.push(A.create(B.l,e,{top:C.top+j,left:0}));
D.push(A.create(B.c,a,{top:C.top+j,left:C.left+j}));
D.push(A.create(B.r,e,{top:C.top+j,right:0}));
D.push(b);
return this.__wz=D.join(o);
},resize:function(E,F,G){var H=this.__wB;
var innerWidth=F-H.left-H.right;
var innerHeight=G-H.top-H.bottom;
if(innerWidth<0){innerWidth=0;
}
if(innerHeight<0){innerHeight=0;
}E.style.width=F+j;
E.style.height=G+j;
E.childNodes[1].style.width=innerWidth+j;
E.childNodes[4].style.width=innerWidth+j;
E.childNodes[7].style.width=innerWidth+j;
E.childNodes[6].style.height=innerHeight+j;
E.childNodes[7].style.height=innerHeight+j;
E.childNodes[8].style.height=innerHeight+j;

if(qx.core.Variant.isSet(x,l)){if(qx.bom.client.Engine.VERSION<7||(qx.bom.client.Feature.QUIRKS_MODE&&qx.bom.client.Engine.VERSION<8)){if(F%2==1){E.childNodes[2].style.marginRight=h;
E.childNodes[5].style.marginRight=h;
E.childNodes[8].style.marginRight=h;
}else{E.childNodes[2].style.marginRight=i;
E.childNodes[5].style.marginRight=i;
E.childNodes[8].style.marginRight=i;
}
if(G%2==1){E.childNodes[3].style.marginBottom=h;
E.childNodes[4].style.marginBottom=h;
E.childNodes[5].style.marginBottom=h;
}else{E.childNodes[3].style.marginBottom=i;
E.childNodes[4].style.marginBottom=i;
E.childNodes[5].style.marginBottom=i;
}}}},tint:function(I,J){},_applyBaseImage:function(K,L){{};

if(K){var P=this._resolveImageUrl(K);
var Q=/(.*)(\.[a-z]+)$/.exec(P);
var O=Q[1];
var N=Q[2];
var M=this.__wA={tl:O+u+N,t:O+v+N,tr:O+d+N,bl:O+m+N,b:O+q+N,br:O+w+N,l:O+c+N,c:O+k+N,r:O+t+N};
this.__wB=this._computeEdgeSizes(M);
}},_resolveImageUrl:function(R){return qx.util.AliasManager.getInstance().resolve(R);
},_computeEdgeSizes:function(S){var T=qx.util.ResourceManager.getInstance();
return {top:T.getImageHeight(S.t),bottom:T.getImageHeight(S.b),left:T.getImageWidth(S.l),right:T.getImageWidth(S.r)};
}},destruct:function(){this.__wz=this.__wA=this.__wB=null;
}});
})();


qx.$$loader.init();


